File: Generated\WebAppsOperationsExtensions.cs
View on GitHub
Project: Microsoft.Azure.Management.Websites.csproj (Microsoft.Azure.Management.Websites)
// <auto-generated>
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for
// license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
// Changes may cause incorrect behavior and will be lost if the code is
// regenerated.
// </auto-generated>
 
namespace Microsoft.Azure.Management.WebSites
{
    using Microsoft.Rest;
    using Microsoft.Rest.Azure;
    using Models;
    using System.Collections;
    using System.Collections.Generic;
    using System.IO;
    using System.Threading;
    using System.Threading.Tasks;
 
    /// <summary>
    /// Extension methods for WebAppsOperations.
    /// </summary>
    public static partial class WebAppsOperationsExtensions
    {
            /// <summary>
            /// Get all apps for a subscription.
            /// </summary>
            /// <remarks>
            /// Description for Get all apps for a subscription.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            public static IPage<Site> List(this IWebAppsOperations operations)
            {
                return operations.ListAsync().GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get all apps for a subscription.
            /// </summary>
            /// <remarks>
            /// Description for Get all apps for a subscription.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<Site>> ListAsync(this IWebAppsOperations operations, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListWithHttpMessagesAsync(null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets all web, mobile, and API apps in the specified resource group.
            /// </summary>
            /// <remarks>
            /// Description for Gets all web, mobile, and API apps in the specified
            /// resource group.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='includeSlots'>
            /// Specify &lt;strong&gt;true&lt;/strong&gt; to include deployment slots in
            /// results. The default is false, which only gives you the production slot of
            /// all apps.
            /// </param>
            public static IPage<Site> ListByResourceGroup(this IWebAppsOperations operations, string resourceGroupName, bool? includeSlots = default(bool?))
            {
                return operations.ListByResourceGroupAsync(resourceGroupName, includeSlots).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets all web, mobile, and API apps in the specified resource group.
            /// </summary>
            /// <remarks>
            /// Description for Gets all web, mobile, and API apps in the specified
            /// resource group.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='includeSlots'>
            /// Specify &lt;strong&gt;true&lt;/strong&gt; to include deployment slots in
            /// results. The default is false, which only gives you the production slot of
            /// all apps.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<Site>> ListByResourceGroupAsync(this IWebAppsOperations operations, string resourceGroupName, bool? includeSlots = default(bool?), CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListByResourceGroupWithHttpMessagesAsync(resourceGroupName, includeSlots, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the details of a web, mobile, or API app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the details of a web, mobile, or API app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static Site Get(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.GetAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the details of a web, mobile, or API app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the details of a web, mobile, or API app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<Site> GetAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Creates a new web, mobile, or API app in an existing resource group, or
            /// updates an existing app.
            /// </summary>
            /// <remarks>
            /// Description for Creates a new web, mobile, or API app in an existing
            /// resource group, or updates an existing app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Unique name of the app to create or update. To create or update a
            /// deployment slot, use the {slot} parameter.
            /// </param>
            /// <param name='siteEnvelope'>
            /// A JSON representation of the app properties. See example.
            /// </param>
            public static Site CreateOrUpdate(this IWebAppsOperations operations, string resourceGroupName, string name, Site siteEnvelope)
            {
                return operations.CreateOrUpdateAsync(resourceGroupName, name, siteEnvelope).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Creates a new web, mobile, or API app in an existing resource group, or
            /// updates an existing app.
            /// </summary>
            /// <remarks>
            /// Description for Creates a new web, mobile, or API app in an existing
            /// resource group, or updates an existing app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Unique name of the app to create or update. To create or update a
            /// deployment slot, use the {slot} parameter.
            /// </param>
            /// <param name='siteEnvelope'>
            /// A JSON representation of the app properties. See example.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<Site> CreateOrUpdateAsync(this IWebAppsOperations operations, string resourceGroupName, string name, Site siteEnvelope, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.CreateOrUpdateWithHttpMessagesAsync(resourceGroupName, name, siteEnvelope, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Deletes a web, mobile, or API app, or one of the deployment slots.
            /// </summary>
            /// <remarks>
            /// Description for Deletes a web, mobile, or API app, or one of the deployment
            /// slots.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app to delete.
            /// </param>
            /// <param name='deleteMetrics'>
            /// If true, web app metrics are also deleted.
            /// </param>
            /// <param name='deleteEmptyServerFarm'>
            /// Specify false if you want to keep empty App Service plan. By default, empty
            /// App Service plan is deleted.
            /// </param>
            public static void Delete(this IWebAppsOperations operations, string resourceGroupName, string name, bool? deleteMetrics = default(bool?), bool? deleteEmptyServerFarm = default(bool?))
            {
                operations.DeleteAsync(resourceGroupName, name, deleteMetrics, deleteEmptyServerFarm).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Deletes a web, mobile, or API app, or one of the deployment slots.
            /// </summary>
            /// <remarks>
            /// Description for Deletes a web, mobile, or API app, or one of the deployment
            /// slots.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app to delete.
            /// </param>
            /// <param name='deleteMetrics'>
            /// If true, web app metrics are also deleted.
            /// </param>
            /// <param name='deleteEmptyServerFarm'>
            /// Specify false if you want to keep empty App Service plan. By default, empty
            /// App Service plan is deleted.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteAsync(this IWebAppsOperations operations, string resourceGroupName, string name, bool? deleteMetrics = default(bool?), bool? deleteEmptyServerFarm = default(bool?), CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteWithHttpMessagesAsync(resourceGroupName, name, deleteMetrics, deleteEmptyServerFarm, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Creates a new web, mobile, or API app in an existing resource group, or
            /// updates an existing app.
            /// </summary>
            /// <remarks>
            /// Description for Creates a new web, mobile, or API app in an existing
            /// resource group, or updates an existing app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Unique name of the app to create or update. To create or update a
            /// deployment slot, use the {slot} parameter.
            /// </param>
            /// <param name='siteEnvelope'>
            /// A JSON representation of the app properties. See example.
            /// </param>
            public static Site Update(this IWebAppsOperations operations, string resourceGroupName, string name, SitePatchResource siteEnvelope)
            {
                return operations.UpdateAsync(resourceGroupName, name, siteEnvelope).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Creates a new web, mobile, or API app in an existing resource group, or
            /// updates an existing app.
            /// </summary>
            /// <remarks>
            /// Description for Creates a new web, mobile, or API app in an existing
            /// resource group, or updates an existing app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Unique name of the app to create or update. To create or update a
            /// deployment slot, use the {slot} parameter.
            /// </param>
            /// <param name='siteEnvelope'>
            /// A JSON representation of the app properties. See example.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<Site> UpdateAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SitePatchResource siteEnvelope, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateWithHttpMessagesAsync(resourceGroupName, name, siteEnvelope, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Analyze a custom hostname.
            /// </summary>
            /// <remarks>
            /// Description for Analyze a custom hostname.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='hostName'>
            /// Custom hostname.
            /// </param>
            public static CustomHostnameAnalysisResult AnalyzeCustomHostname(this IWebAppsOperations operations, string resourceGroupName, string name, string hostName = default(string))
            {
                return operations.AnalyzeCustomHostnameAsync(resourceGroupName, name, hostName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Analyze a custom hostname.
            /// </summary>
            /// <remarks>
            /// Description for Analyze a custom hostname.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='hostName'>
            /// Custom hostname.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<CustomHostnameAnalysisResult> AnalyzeCustomHostnameAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string hostName = default(string), CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.AnalyzeCustomHostnameWithHttpMessagesAsync(resourceGroupName, name, hostName, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Applies the configuration settings from the target slot onto the current
            /// slot.
            /// </summary>
            /// <remarks>
            /// Description for Applies the configuration settings from the target slot
            /// onto the current slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slotSwapEntity'>
            /// JSON object that contains the target slot name. See example.
            /// </param>
            public static void ApplySlotConfigToProduction(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity)
            {
                operations.ApplySlotConfigToProductionAsync(resourceGroupName, name, slotSwapEntity).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Applies the configuration settings from the target slot onto the current
            /// slot.
            /// </summary>
            /// <remarks>
            /// Description for Applies the configuration settings from the target slot
            /// onto the current slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slotSwapEntity'>
            /// JSON object that contains the target slot name. See example.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task ApplySlotConfigToProductionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.ApplySlotConfigToProductionWithHttpMessagesAsync(resourceGroupName, name, slotSwapEntity, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Creates a backup of an app.
            /// </summary>
            /// <remarks>
            /// Description for Creates a backup of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='request'>
            /// Backup configuration. You can use the JSON response from the POST action as
            /// input here.
            /// </param>
            public static BackupItem Backup(this IWebAppsOperations operations, string resourceGroupName, string name, BackupRequest request)
            {
                return operations.BackupAsync(resourceGroupName, name, request).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Creates a backup of an app.
            /// </summary>
            /// <remarks>
            /// Description for Creates a backup of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='request'>
            /// Backup configuration. You can use the JSON response from the POST action as
            /// input here.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<BackupItem> BackupAsync(this IWebAppsOperations operations, string resourceGroupName, string name, BackupRequest request, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.BackupWithHttpMessagesAsync(resourceGroupName, name, request, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets existing backups of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets existing backups of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static IPage<BackupItem> ListBackups(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.ListBackupsAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets existing backups of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets existing backups of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<BackupItem>> ListBackupsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListBackupsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets a backup of an app by its ID.
            /// </summary>
            /// <remarks>
            /// Description for Gets a backup of an app by its ID.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='backupId'>
            /// ID of the backup.
            /// </param>
            public static BackupItem GetBackupStatus(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId)
            {
                return operations.GetBackupStatusAsync(resourceGroupName, name, backupId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets a backup of an app by its ID.
            /// </summary>
            /// <remarks>
            /// Description for Gets a backup of an app by its ID.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='backupId'>
            /// ID of the backup.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<BackupItem> GetBackupStatusAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetBackupStatusWithHttpMessagesAsync(resourceGroupName, name, backupId, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Deletes a backup of an app by its ID.
            /// </summary>
            /// <remarks>
            /// Description for Deletes a backup of an app by its ID.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='backupId'>
            /// ID of the backup.
            /// </param>
            public static void DeleteBackup(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId)
            {
                operations.DeleteBackupAsync(resourceGroupName, name, backupId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Deletes a backup of an app by its ID.
            /// </summary>
            /// <remarks>
            /// Description for Deletes a backup of an app by its ID.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='backupId'>
            /// ID of the backup.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteBackupAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteBackupWithHttpMessagesAsync(resourceGroupName, name, backupId, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Gets status of a web app backup that may be in progress, including secrets
            /// associated with the backup, such as the Azure Storage SAS URL. Also can be
            /// used to update the SAS URL for the backup if a new URL is passed in the
            /// request body.
            /// </summary>
            /// <remarks>
            /// Description for Gets status of a web app backup that may be in progress,
            /// including secrets associated with the backup, such as the Azure Storage SAS
            /// URL. Also can be used to update the SAS URL for the backup if a new URL is
            /// passed in the request body.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='backupId'>
            /// ID of backup.
            /// </param>
            /// <param name='request'>
            /// Information on backup request.
            /// </param>
            public static BackupItem ListBackupStatusSecrets(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, BackupRequest request)
            {
                return operations.ListBackupStatusSecretsAsync(resourceGroupName, name, backupId, request).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets status of a web app backup that may be in progress, including secrets
            /// associated with the backup, such as the Azure Storage SAS URL. Also can be
            /// used to update the SAS URL for the backup if a new URL is passed in the
            /// request body.
            /// </summary>
            /// <remarks>
            /// Description for Gets status of a web app backup that may be in progress,
            /// including secrets associated with the backup, such as the Azure Storage SAS
            /// URL. Also can be used to update the SAS URL for the backup if a new URL is
            /// passed in the request body.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='backupId'>
            /// ID of backup.
            /// </param>
            /// <param name='request'>
            /// Information on backup request.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<BackupItem> ListBackupStatusSecretsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, BackupRequest request, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListBackupStatusSecretsWithHttpMessagesAsync(resourceGroupName, name, backupId, request, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Restores a specific backup to another app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Restores a specific backup to another app (or deployment
            /// slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='backupId'>
            /// ID of the backup.
            /// </param>
            /// <param name='request'>
            /// Information on restore request .
            /// </param>
            public static void Restore(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, RestoreRequest request)
            {
                operations.RestoreAsync(resourceGroupName, name, backupId, request).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Restores a specific backup to another app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Restores a specific backup to another app (or deployment
            /// slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='backupId'>
            /// ID of the backup.
            /// </param>
            /// <param name='request'>
            /// Information on restore request .
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task RestoreAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, RestoreRequest request, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.RestoreWithHttpMessagesAsync(resourceGroupName, name, backupId, request, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Returns whether Scm basic auth is allowed and whether Ftp is allowed for a
            /// given site.
            /// </summary>
            /// <remarks>
            /// Description for Returns whether Scm basic auth is allowed and whether Ftp
            /// is allowed for a given site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static IPage<CsmPublishingCredentialsPoliciesEntity> ListBasicPublishingCredentialsPolicies(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.ListBasicPublishingCredentialsPoliciesAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Returns whether Scm basic auth is allowed and whether Ftp is allowed for a
            /// given site.
            /// </summary>
            /// <remarks>
            /// Description for Returns whether Scm basic auth is allowed and whether Ftp
            /// is allowed for a given site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<CsmPublishingCredentialsPoliciesEntity>> ListBasicPublishingCredentialsPoliciesAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListBasicPublishingCredentialsPoliciesWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Returns whether FTP is allowed on the site or not.
            /// </summary>
            /// <remarks>
            /// Description for Returns whether FTP is allowed on the site or not.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static CsmPublishingCredentialsPoliciesEntity GetFtpAllowed(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.GetFtpAllowedAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Returns whether FTP is allowed on the site or not.
            /// </summary>
            /// <remarks>
            /// Description for Returns whether FTP is allowed on the site or not.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<CsmPublishingCredentialsPoliciesEntity> GetFtpAllowedAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetFtpAllowedWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Updates whether FTP is allowed on the site or not.
            /// </summary>
            /// <remarks>
            /// Description for Updates whether FTP is allowed on the site or not.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='csmPublishingAccessPoliciesEntity'>
            /// </param>
            public static CsmPublishingCredentialsPoliciesEntity UpdateFtpAllowed(this IWebAppsOperations operations, string resourceGroupName, string name, CsmPublishingCredentialsPoliciesEntity csmPublishingAccessPoliciesEntity)
            {
                return operations.UpdateFtpAllowedAsync(resourceGroupName, name, csmPublishingAccessPoliciesEntity).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Updates whether FTP is allowed on the site or not.
            /// </summary>
            /// <remarks>
            /// Description for Updates whether FTP is allowed on the site or not.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='csmPublishingAccessPoliciesEntity'>
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<CsmPublishingCredentialsPoliciesEntity> UpdateFtpAllowedAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmPublishingCredentialsPoliciesEntity csmPublishingAccessPoliciesEntity, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateFtpAllowedWithHttpMessagesAsync(resourceGroupName, name, csmPublishingAccessPoliciesEntity, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Returns whether Scm basic auth is allowed on the site or not.
            /// </summary>
            /// <remarks>
            /// Description for Returns whether Scm basic auth is allowed on the site or
            /// not.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static CsmPublishingCredentialsPoliciesEntity GetScmAllowed(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.GetScmAllowedAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Returns whether Scm basic auth is allowed on the site or not.
            /// </summary>
            /// <remarks>
            /// Description for Returns whether Scm basic auth is allowed on the site or
            /// not.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<CsmPublishingCredentialsPoliciesEntity> GetScmAllowedAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetScmAllowedWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Updates whether user publishing credentials are allowed on the site or not.
            /// </summary>
            /// <remarks>
            /// Description for Updates whether user publishing credentials are allowed on
            /// the site or not.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='csmPublishingAccessPoliciesEntity'>
            /// </param>
            public static CsmPublishingCredentialsPoliciesEntity UpdateScmAllowed(this IWebAppsOperations operations, string resourceGroupName, string name, CsmPublishingCredentialsPoliciesEntity csmPublishingAccessPoliciesEntity)
            {
                return operations.UpdateScmAllowedAsync(resourceGroupName, name, csmPublishingAccessPoliciesEntity).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Updates whether user publishing credentials are allowed on the site or not.
            /// </summary>
            /// <remarks>
            /// Description for Updates whether user publishing credentials are allowed on
            /// the site or not.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='csmPublishingAccessPoliciesEntity'>
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<CsmPublishingCredentialsPoliciesEntity> UpdateScmAllowedAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmPublishingCredentialsPoliciesEntity csmPublishingAccessPoliciesEntity, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateScmAllowedWithHttpMessagesAsync(resourceGroupName, name, csmPublishingAccessPoliciesEntity, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// List the configurations of an app
            /// </summary>
            /// <remarks>
            /// Description for List the configurations of an app
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static IPage<SiteConfigResource> ListConfigurations(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.ListConfigurationsAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List the configurations of an app
            /// </summary>
            /// <remarks>
            /// Description for List the configurations of an app
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<SiteConfigResource>> ListConfigurationsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListConfigurationsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Replaces the application settings of an app.
            /// </summary>
            /// <remarks>
            /// Description for Replaces the application settings of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='appSettings'>
            /// Application settings of the app.
            /// </param>
            public static StringDictionary UpdateApplicationSettings(this IWebAppsOperations operations, string resourceGroupName, string name, StringDictionary appSettings)
            {
                return operations.UpdateApplicationSettingsAsync(resourceGroupName, name, appSettings).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Replaces the application settings of an app.
            /// </summary>
            /// <remarks>
            /// Description for Replaces the application settings of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='appSettings'>
            /// Application settings of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<StringDictionary> UpdateApplicationSettingsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, StringDictionary appSettings, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateApplicationSettingsWithHttpMessagesAsync(resourceGroupName, name, appSettings, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the application settings of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the application settings of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static StringDictionary ListApplicationSettings(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.ListApplicationSettingsAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the application settings of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the application settings of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<StringDictionary> ListApplicationSettingsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListApplicationSettingsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Updates the Authentication / Authorization settings associated with web
            /// app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the Authentication / Authorization settings
            /// associated with web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='siteAuthSettings'>
            /// Auth settings associated with web app.
            /// </param>
            public static SiteAuthSettings UpdateAuthSettings(this IWebAppsOperations operations, string resourceGroupName, string name, SiteAuthSettings siteAuthSettings)
            {
                return operations.UpdateAuthSettingsAsync(resourceGroupName, name, siteAuthSettings).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Updates the Authentication / Authorization settings associated with web
            /// app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the Authentication / Authorization settings
            /// associated with web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='siteAuthSettings'>
            /// Auth settings associated with web app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteAuthSettings> UpdateAuthSettingsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SiteAuthSettings siteAuthSettings, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateAuthSettingsWithHttpMessagesAsync(resourceGroupName, name, siteAuthSettings, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the Authentication/Authorization settings of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the Authentication/Authorization settings of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static SiteAuthSettings GetAuthSettings(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.GetAuthSettingsAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the Authentication/Authorization settings of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the Authentication/Authorization settings of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteAuthSettings> GetAuthSettingsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetAuthSettingsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Updates site's Authentication / Authorization settings for apps via the V2
            /// format
            /// </summary>
            /// <remarks>
            /// Description for Updates site's Authentication / Authorization settings for
            /// apps via the V2 format
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='siteAuthSettingsV2'>
            /// Auth settings associated with web app.
            /// </param>
            public static SiteAuthSettingsV2 UpdateAuthSettingsV2(this IWebAppsOperations operations, string resourceGroupName, string name, SiteAuthSettingsV2 siteAuthSettingsV2)
            {
                return operations.UpdateAuthSettingsV2Async(resourceGroupName, name, siteAuthSettingsV2).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Updates site's Authentication / Authorization settings for apps via the V2
            /// format
            /// </summary>
            /// <remarks>
            /// Description for Updates site's Authentication / Authorization settings for
            /// apps via the V2 format
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='siteAuthSettingsV2'>
            /// Auth settings associated with web app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteAuthSettingsV2> UpdateAuthSettingsV2Async(this IWebAppsOperations operations, string resourceGroupName, string name, SiteAuthSettingsV2 siteAuthSettingsV2, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateAuthSettingsV2WithHttpMessagesAsync(resourceGroupName, name, siteAuthSettingsV2, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets site's Authentication / Authorization settings for apps via the V2
            /// format
            /// </summary>
            /// <remarks>
            /// Description for Gets site's Authentication / Authorization settings for
            /// apps via the V2 format
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static SiteAuthSettingsV2 GetAuthSettingsV2(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.GetAuthSettingsV2Async(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets site's Authentication / Authorization settings for apps via the V2
            /// format
            /// </summary>
            /// <remarks>
            /// Description for Gets site's Authentication / Authorization settings for
            /// apps via the V2 format
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteAuthSettingsV2> GetAuthSettingsV2Async(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetAuthSettingsV2WithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Updates the Azure storage account configurations of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the Azure storage account configurations of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='azureStorageAccounts'>
            /// Azure storage accounts of the app.
            /// </param>
            public static AzureStoragePropertyDictionaryResource UpdateAzureStorageAccounts(this IWebAppsOperations operations, string resourceGroupName, string name, AzureStoragePropertyDictionaryResource azureStorageAccounts)
            {
                return operations.UpdateAzureStorageAccountsAsync(resourceGroupName, name, azureStorageAccounts).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Updates the Azure storage account configurations of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the Azure storage account configurations of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='azureStorageAccounts'>
            /// Azure storage accounts of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<AzureStoragePropertyDictionaryResource> UpdateAzureStorageAccountsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, AzureStoragePropertyDictionaryResource azureStorageAccounts, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateAzureStorageAccountsWithHttpMessagesAsync(resourceGroupName, name, azureStorageAccounts, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the Azure storage account configurations of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the Azure storage account configurations of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static AzureStoragePropertyDictionaryResource ListAzureStorageAccounts(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.ListAzureStorageAccountsAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the Azure storage account configurations of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the Azure storage account configurations of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<AzureStoragePropertyDictionaryResource> ListAzureStorageAccountsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListAzureStorageAccountsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Updates the backup configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the backup configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='request'>
            /// Edited backup configuration.
            /// </param>
            public static BackupRequest UpdateBackupConfiguration(this IWebAppsOperations operations, string resourceGroupName, string name, BackupRequest request)
            {
                return operations.UpdateBackupConfigurationAsync(resourceGroupName, name, request).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Updates the backup configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the backup configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='request'>
            /// Edited backup configuration.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<BackupRequest> UpdateBackupConfigurationAsync(this IWebAppsOperations operations, string resourceGroupName, string name, BackupRequest request, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateBackupConfigurationWithHttpMessagesAsync(resourceGroupName, name, request, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Deletes the backup configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Deletes the backup configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static void DeleteBackupConfiguration(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                operations.DeleteBackupConfigurationAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Deletes the backup configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Deletes the backup configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteBackupConfigurationAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteBackupConfigurationWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Gets the backup configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the backup configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static BackupRequest GetBackupConfiguration(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.GetBackupConfigurationAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the backup configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the backup configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<BackupRequest> GetBackupConfigurationAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetBackupConfigurationWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the config reference app settings and status of an app
            /// </summary>
            /// <remarks>
            /// Description for Gets the config reference app settings and status of an app
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static IPage<ApiKVReference> GetAppSettingsKeyVaultReferences(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.GetAppSettingsKeyVaultReferencesAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the config reference app settings and status of an app
            /// </summary>
            /// <remarks>
            /// Description for Gets the config reference app settings and status of an app
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ApiKVReference>> GetAppSettingsKeyVaultReferencesAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetAppSettingsKeyVaultReferencesWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the config reference and status of an app
            /// </summary>
            /// <remarks>
            /// Description for Gets the config reference and status of an app
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='appSettingKey'>
            /// App Setting key name.
            /// </param>
            public static ApiKVReference GetAppSettingKeyVaultReference(this IWebAppsOperations operations, string resourceGroupName, string name, string appSettingKey)
            {
                return operations.GetAppSettingKeyVaultReferenceAsync(resourceGroupName, name, appSettingKey).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the config reference and status of an app
            /// </summary>
            /// <remarks>
            /// Description for Gets the config reference and status of an app
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='appSettingKey'>
            /// App Setting key name.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<ApiKVReference> GetAppSettingKeyVaultReferenceAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string appSettingKey, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetAppSettingKeyVaultReferenceWithHttpMessagesAsync(resourceGroupName, name, appSettingKey, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the config reference app settings and status of an app
            /// </summary>
            /// <remarks>
            /// Description for Gets the config reference app settings and status of an app
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static IPage<ApiKVReference> GetSiteConnectionStringKeyVaultReferences(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.GetSiteConnectionStringKeyVaultReferencesAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the config reference app settings and status of an app
            /// </summary>
            /// <remarks>
            /// Description for Gets the config reference app settings and status of an app
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ApiKVReference>> GetSiteConnectionStringKeyVaultReferencesAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetSiteConnectionStringKeyVaultReferencesWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the config reference and status of an app
            /// </summary>
            /// <remarks>
            /// Description for Gets the config reference and status of an app
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='connectionStringKey'>
            /// </param>
            public static ApiKVReference GetSiteConnectionStringKeyVaultReference(this IWebAppsOperations operations, string resourceGroupName, string name, string connectionStringKey)
            {
                return operations.GetSiteConnectionStringKeyVaultReferenceAsync(resourceGroupName, name, connectionStringKey).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the config reference and status of an app
            /// </summary>
            /// <remarks>
            /// Description for Gets the config reference and status of an app
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='connectionStringKey'>
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<ApiKVReference> GetSiteConnectionStringKeyVaultReferenceAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string connectionStringKey, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetSiteConnectionStringKeyVaultReferenceWithHttpMessagesAsync(resourceGroupName, name, connectionStringKey, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Replaces the connection strings of an app.
            /// </summary>
            /// <remarks>
            /// Description for Replaces the connection strings of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='connectionStrings'>
            /// Connection strings of the app or deployment slot. See example.
            /// </param>
            public static ConnectionStringDictionary UpdateConnectionStrings(this IWebAppsOperations operations, string resourceGroupName, string name, ConnectionStringDictionary connectionStrings)
            {
                return operations.UpdateConnectionStringsAsync(resourceGroupName, name, connectionStrings).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Replaces the connection strings of an app.
            /// </summary>
            /// <remarks>
            /// Description for Replaces the connection strings of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='connectionStrings'>
            /// Connection strings of the app or deployment slot. See example.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<ConnectionStringDictionary> UpdateConnectionStringsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, ConnectionStringDictionary connectionStrings, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateConnectionStringsWithHttpMessagesAsync(resourceGroupName, name, connectionStrings, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the connection strings of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the connection strings of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static ConnectionStringDictionary ListConnectionStrings(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.ListConnectionStringsAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the connection strings of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the connection strings of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<ConnectionStringDictionary> ListConnectionStringsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListConnectionStringsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the logging configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the logging configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static SiteLogsConfig GetDiagnosticLogsConfiguration(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.GetDiagnosticLogsConfigurationAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the logging configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the logging configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteLogsConfig> GetDiagnosticLogsConfigurationAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetDiagnosticLogsConfigurationWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Updates the logging configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the logging configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='siteLogsConfig'>
            /// A SiteLogsConfig JSON object that contains the logging configuration to
            /// change in the "properties" property.
            /// </param>
            public static SiteLogsConfig UpdateDiagnosticLogsConfig(this IWebAppsOperations operations, string resourceGroupName, string name, SiteLogsConfig siteLogsConfig)
            {
                return operations.UpdateDiagnosticLogsConfigAsync(resourceGroupName, name, siteLogsConfig).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Updates the logging configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the logging configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='siteLogsConfig'>
            /// A SiteLogsConfig JSON object that contains the logging configuration to
            /// change in the "properties" property.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteLogsConfig> UpdateDiagnosticLogsConfigAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SiteLogsConfig siteLogsConfig, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateDiagnosticLogsConfigWithHttpMessagesAsync(resourceGroupName, name, siteLogsConfig, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Replaces the metadata of an app.
            /// </summary>
            /// <remarks>
            /// Description for Replaces the metadata of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='metadata'>
            /// Edited metadata of the app or deployment slot. See example.
            /// </param>
            public static StringDictionary UpdateMetadata(this IWebAppsOperations operations, string resourceGroupName, string name, StringDictionary metadata)
            {
                return operations.UpdateMetadataAsync(resourceGroupName, name, metadata).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Replaces the metadata of an app.
            /// </summary>
            /// <remarks>
            /// Description for Replaces the metadata of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='metadata'>
            /// Edited metadata of the app or deployment slot. See example.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<StringDictionary> UpdateMetadataAsync(this IWebAppsOperations operations, string resourceGroupName, string name, StringDictionary metadata, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateMetadataWithHttpMessagesAsync(resourceGroupName, name, metadata, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the metadata of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the metadata of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static StringDictionary ListMetadata(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.ListMetadataAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the metadata of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the metadata of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<StringDictionary> ListMetadataAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListMetadataWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the Git/FTP publishing credentials of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the Git/FTP publishing credentials of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static User ListPublishingCredentials(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.ListPublishingCredentialsAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the Git/FTP publishing credentials of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the Git/FTP publishing credentials of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<User> ListPublishingCredentialsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListPublishingCredentialsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Updates the Push settings associated with web app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the Push settings associated with web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='pushSettings'>
            /// Push settings associated with web app.
            /// </param>
            public static PushSettings UpdateSitePushSettings(this IWebAppsOperations operations, string resourceGroupName, string name, PushSettings pushSettings)
            {
                return operations.UpdateSitePushSettingsAsync(resourceGroupName, name, pushSettings).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Updates the Push settings associated with web app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the Push settings associated with web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='pushSettings'>
            /// Push settings associated with web app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<PushSettings> UpdateSitePushSettingsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, PushSettings pushSettings, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateSitePushSettingsWithHttpMessagesAsync(resourceGroupName, name, pushSettings, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the Push settings associated with web app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the Push settings associated with web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            public static PushSettings ListSitePushSettings(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.ListSitePushSettingsAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the Push settings associated with web app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the Push settings associated with web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<PushSettings> ListSitePushSettingsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListSitePushSettingsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the names of app settings and connection strings that stick to the
            /// slot (not swapped).
            /// </summary>
            /// <remarks>
            /// Description for Gets the names of app settings and connection strings that
            /// stick to the slot (not swapped).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static SlotConfigNamesResource ListSlotConfigurationNames(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.ListSlotConfigurationNamesAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the names of app settings and connection strings that stick to the
            /// slot (not swapped).
            /// </summary>
            /// <remarks>
            /// Description for Gets the names of app settings and connection strings that
            /// stick to the slot (not swapped).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SlotConfigNamesResource> ListSlotConfigurationNamesAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListSlotConfigurationNamesWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Updates the names of application settings and connection string that remain
            /// with the slot during swap operation.
            /// </summary>
            /// <remarks>
            /// Description for Updates the names of application settings and connection
            /// string that remain with the slot during swap operation.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slotConfigNames'>
            /// Names of application settings and connection strings. See example.
            /// </param>
            public static SlotConfigNamesResource UpdateSlotConfigurationNames(this IWebAppsOperations operations, string resourceGroupName, string name, SlotConfigNamesResource slotConfigNames)
            {
                return operations.UpdateSlotConfigurationNamesAsync(resourceGroupName, name, slotConfigNames).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Updates the names of application settings and connection string that remain
            /// with the slot during swap operation.
            /// </summary>
            /// <remarks>
            /// Description for Updates the names of application settings and connection
            /// string that remain with the slot during swap operation.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slotConfigNames'>
            /// Names of application settings and connection strings. See example.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SlotConfigNamesResource> UpdateSlotConfigurationNamesAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SlotConfigNamesResource slotConfigNames, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateSlotConfigurationNamesWithHttpMessagesAsync(resourceGroupName, name, slotConfigNames, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the configuration of an app, such as platform version and bitness,
            /// default documents, virtual applications, Always On, etc.
            /// </summary>
            /// <remarks>
            /// Description for Gets the configuration of an app, such as platform version
            /// and bitness, default documents, virtual applications, Always On, etc.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static SiteConfigResource GetConfiguration(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.GetConfigurationAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the configuration of an app, such as platform version and bitness,
            /// default documents, virtual applications, Always On, etc.
            /// </summary>
            /// <remarks>
            /// Description for Gets the configuration of an app, such as platform version
            /// and bitness, default documents, virtual applications, Always On, etc.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteConfigResource> GetConfigurationAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetConfigurationWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Updates the configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='siteConfig'>
            /// JSON representation of a SiteConfig object. See example.
            /// </param>
            public static SiteConfigResource CreateOrUpdateConfiguration(this IWebAppsOperations operations, string resourceGroupName, string name, SiteConfigResource siteConfig)
            {
                return operations.CreateOrUpdateConfigurationAsync(resourceGroupName, name, siteConfig).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Updates the configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='siteConfig'>
            /// JSON representation of a SiteConfig object. See example.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteConfigResource> CreateOrUpdateConfigurationAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SiteConfigResource siteConfig, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.CreateOrUpdateConfigurationWithHttpMessagesAsync(resourceGroupName, name, siteConfig, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Updates the configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='siteConfig'>
            /// JSON representation of a SiteConfig object. See example.
            /// </param>
            public static SiteConfigResource UpdateConfiguration(this IWebAppsOperations operations, string resourceGroupName, string name, SiteConfigResource siteConfig)
            {
                return operations.UpdateConfigurationAsync(resourceGroupName, name, siteConfig).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Updates the configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='siteConfig'>
            /// JSON representation of a SiteConfig object. See example.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteConfigResource> UpdateConfigurationAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SiteConfigResource siteConfig, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateConfigurationWithHttpMessagesAsync(resourceGroupName, name, siteConfig, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets a list of web app configuration snapshots identifiers. Each element of
            /// the list contains a timestamp and the ID of the snapshot.
            /// </summary>
            /// <remarks>
            /// Description for Gets a list of web app configuration snapshots identifiers.
            /// Each element of the list contains a timestamp and the ID of the snapshot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static IPage<SiteConfigurationSnapshotInfo> ListConfigurationSnapshotInfo(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.ListConfigurationSnapshotInfoAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets a list of web app configuration snapshots identifiers. Each element of
            /// the list contains a timestamp and the ID of the snapshot.
            /// </summary>
            /// <remarks>
            /// Description for Gets a list of web app configuration snapshots identifiers.
            /// Each element of the list contains a timestamp and the ID of the snapshot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<SiteConfigurationSnapshotInfo>> ListConfigurationSnapshotInfoAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListConfigurationSnapshotInfoWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets a snapshot of the configuration of an app at a previous point in time.
            /// </summary>
            /// <remarks>
            /// Description for Gets a snapshot of the configuration of an app at a
            /// previous point in time.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='snapshotId'>
            /// The ID of the snapshot to read.
            /// </param>
            public static SiteConfigResource GetConfigurationSnapshot(this IWebAppsOperations operations, string resourceGroupName, string name, string snapshotId)
            {
                return operations.GetConfigurationSnapshotAsync(resourceGroupName, name, snapshotId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets a snapshot of the configuration of an app at a previous point in time.
            /// </summary>
            /// <remarks>
            /// Description for Gets a snapshot of the configuration of an app at a
            /// previous point in time.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='snapshotId'>
            /// The ID of the snapshot to read.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteConfigResource> GetConfigurationSnapshotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string snapshotId, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetConfigurationSnapshotWithHttpMessagesAsync(resourceGroupName, name, snapshotId, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Reverts the configuration of an app to a previous snapshot.
            /// </summary>
            /// <remarks>
            /// Description for Reverts the configuration of an app to a previous snapshot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='snapshotId'>
            /// The ID of the snapshot to read.
            /// </param>
            public static void RecoverSiteConfigurationSnapshot(this IWebAppsOperations operations, string resourceGroupName, string name, string snapshotId)
            {
                operations.RecoverSiteConfigurationSnapshotAsync(resourceGroupName, name, snapshotId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Reverts the configuration of an app to a previous snapshot.
            /// </summary>
            /// <remarks>
            /// Description for Reverts the configuration of an app to a previous snapshot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='snapshotId'>
            /// The ID of the snapshot to read.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task RecoverSiteConfigurationSnapshotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string snapshotId, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.RecoverSiteConfigurationSnapshotWithHttpMessagesAsync(resourceGroupName, name, snapshotId, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Gets the last lines of docker logs for the given site
            /// </summary>
            /// <remarks>
            /// Description for Gets the last lines of docker logs for the given site
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            public static Stream GetWebSiteContainerLogs(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.GetWebSiteContainerLogsAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the last lines of docker logs for the given site
            /// </summary>
            /// <remarks>
            /// Description for Gets the last lines of docker logs for the given site
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<Stream> GetWebSiteContainerLogsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                var _result = await operations.GetWebSiteContainerLogsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false);
                _result.Request.Dispose();
                return _result.Body;
            }
 
            /// <summary>
            /// Gets the ZIP archived docker log files for the given site
            /// </summary>
            /// <remarks>
            /// Description for Gets the ZIP archived docker log files for the given site
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            public static Stream GetContainerLogsZip(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.GetContainerLogsZipAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the ZIP archived docker log files for the given site
            /// </summary>
            /// <remarks>
            /// Description for Gets the ZIP archived docker log files for the given site
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<Stream> GetContainerLogsZipAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                var _result = await operations.GetContainerLogsZipWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false);
                _result.Request.Dispose();
                return _result.Body;
            }
 
            /// <summary>
            /// List continuous web jobs for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List continuous web jobs for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            public static IPage<ContinuousWebJob> ListContinuousWebJobs(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.ListContinuousWebJobsAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List continuous web jobs for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List continuous web jobs for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ContinuousWebJob>> ListContinuousWebJobsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListContinuousWebJobsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets a continuous web job by its ID for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Gets a continuous web job by its ID for an app, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            public static ContinuousWebJob GetContinuousWebJob(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName)
            {
                return operations.GetContinuousWebJobAsync(resourceGroupName, name, webJobName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets a continuous web job by its ID for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Gets a continuous web job by its ID for an app, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<ContinuousWebJob> GetContinuousWebJobAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetContinuousWebJobWithHttpMessagesAsync(resourceGroupName, name, webJobName, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Delete a continuous web job by its ID for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Delete a continuous web job by its ID for an app, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            public static void DeleteContinuousWebJob(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName)
            {
                operations.DeleteContinuousWebJobAsync(resourceGroupName, name, webJobName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Delete a continuous web job by its ID for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Delete a continuous web job by its ID for an app, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteContinuousWebJobAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteContinuousWebJobWithHttpMessagesAsync(resourceGroupName, name, webJobName, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Start a continuous web job for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Start a continuous web job for an app, or a deployment
            /// slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            public static void StartContinuousWebJob(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName)
            {
                operations.StartContinuousWebJobAsync(resourceGroupName, name, webJobName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Start a continuous web job for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Start a continuous web job for an app, or a deployment
            /// slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task StartContinuousWebJobAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.StartContinuousWebJobWithHttpMessagesAsync(resourceGroupName, name, webJobName, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Stop a continuous web job for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Stop a continuous web job for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            public static void StopContinuousWebJob(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName)
            {
                operations.StopContinuousWebJobAsync(resourceGroupName, name, webJobName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Stop a continuous web job for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Stop a continuous web job for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task StopContinuousWebJobAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.StopContinuousWebJobWithHttpMessagesAsync(resourceGroupName, name, webJobName, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// List deployments for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List deployments for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static IPage<Deployment> ListDeployments(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.ListDeploymentsAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List deployments for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List deployments for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<Deployment>> ListDeploymentsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListDeploymentsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get a deployment by its ID for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get a deployment by its ID for an app, or a deployment
            /// slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='id'>
            /// Deployment ID.
            /// </param>
            public static Deployment GetDeployment(this IWebAppsOperations operations, string resourceGroupName, string name, string id)
            {
                return operations.GetDeploymentAsync(resourceGroupName, name, id).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get a deployment by its ID for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get a deployment by its ID for an app, or a deployment
            /// slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='id'>
            /// Deployment ID.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<Deployment> GetDeploymentAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string id, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetDeploymentWithHttpMessagesAsync(resourceGroupName, name, id, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Create a deployment for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Create a deployment for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='id'>
            /// ID of an existing deployment.
            /// </param>
            /// <param name='deployment'>
            /// Deployment details.
            /// </param>
            public static Deployment CreateDeployment(this IWebAppsOperations operations, string resourceGroupName, string name, string id, Deployment deployment)
            {
                return operations.CreateDeploymentAsync(resourceGroupName, name, id, deployment).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Create a deployment for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Create a deployment for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='id'>
            /// ID of an existing deployment.
            /// </param>
            /// <param name='deployment'>
            /// Deployment details.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<Deployment> CreateDeploymentAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string id, Deployment deployment, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.CreateDeploymentWithHttpMessagesAsync(resourceGroupName, name, id, deployment, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Delete a deployment by its ID for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Delete a deployment by its ID for an app, or a deployment
            /// slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='id'>
            /// Deployment ID.
            /// </param>
            public static void DeleteDeployment(this IWebAppsOperations operations, string resourceGroupName, string name, string id)
            {
                operations.DeleteDeploymentAsync(resourceGroupName, name, id).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Delete a deployment by its ID for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Delete a deployment by its ID for an app, or a deployment
            /// slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='id'>
            /// Deployment ID.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteDeploymentAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string id, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteDeploymentWithHttpMessagesAsync(resourceGroupName, name, id, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// List deployment log for specific deployment for an app, or a deployment
            /// slot.
            /// </summary>
            /// <remarks>
            /// Description for List deployment log for specific deployment for an app, or
            /// a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='id'>
            /// The ID of a specific deployment. This is the value of the name property in
            /// the JSON response from "GET /api/sites/{siteName}/deployments".
            /// </param>
            public static Deployment ListDeploymentLog(this IWebAppsOperations operations, string resourceGroupName, string name, string id)
            {
                return operations.ListDeploymentLogAsync(resourceGroupName, name, id).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List deployment log for specific deployment for an app, or a deployment
            /// slot.
            /// </summary>
            /// <remarks>
            /// Description for List deployment log for specific deployment for an app, or
            /// a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='id'>
            /// The ID of a specific deployment. This is the value of the name property in
            /// the JSON response from "GET /api/sites/{siteName}/deployments".
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<Deployment> ListDeploymentLogAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string id, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListDeploymentLogWithHttpMessagesAsync(resourceGroupName, name, id, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Discovers an existing app backup that can be restored from a blob in Azure
            /// storage. Use this to get information about the databases stored in a
            /// backup.
            /// </summary>
            /// <remarks>
            /// Description for Discovers an existing app backup that can be restored from
            /// a blob in Azure storage. Use this to get information about the databases
            /// stored in a backup.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='request'>
            /// A RestoreRequest object that includes Azure storage URL and blog name for
            /// discovery of backup.
            /// </param>
            public static RestoreRequest DiscoverBackup(this IWebAppsOperations operations, string resourceGroupName, string name, RestoreRequest request)
            {
                return operations.DiscoverBackupAsync(resourceGroupName, name, request).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Discovers an existing app backup that can be restored from a blob in Azure
            /// storage. Use this to get information about the databases stored in a
            /// backup.
            /// </summary>
            /// <remarks>
            /// Description for Discovers an existing app backup that can be restored from
            /// a blob in Azure storage. Use this to get information about the databases
            /// stored in a backup.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='request'>
            /// A RestoreRequest object that includes Azure storage URL and blog name for
            /// discovery of backup.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<RestoreRequest> DiscoverBackupAsync(this IWebAppsOperations operations, string resourceGroupName, string name, RestoreRequest request, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.DiscoverBackupWithHttpMessagesAsync(resourceGroupName, name, request, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Lists ownership identifiers for domain associated with web app.
            /// </summary>
            /// <remarks>
            /// Description for Lists ownership identifiers for domain associated with web
            /// app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static IPage<Identifier> ListDomainOwnershipIdentifiers(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.ListDomainOwnershipIdentifiersAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Lists ownership identifiers for domain associated with web app.
            /// </summary>
            /// <remarks>
            /// Description for Lists ownership identifiers for domain associated with web
            /// app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<Identifier>> ListDomainOwnershipIdentifiersAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListDomainOwnershipIdentifiersWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get domain ownership identifier for web app.
            /// </summary>
            /// <remarks>
            /// Description for Get domain ownership identifier for web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='domainOwnershipIdentifierName'>
            /// Name of domain ownership identifier.
            /// </param>
            public static Identifier GetDomainOwnershipIdentifier(this IWebAppsOperations operations, string resourceGroupName, string name, string domainOwnershipIdentifierName)
            {
                return operations.GetDomainOwnershipIdentifierAsync(resourceGroupName, name, domainOwnershipIdentifierName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get domain ownership identifier for web app.
            /// </summary>
            /// <remarks>
            /// Description for Get domain ownership identifier for web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='domainOwnershipIdentifierName'>
            /// Name of domain ownership identifier.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<Identifier> GetDomainOwnershipIdentifierAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string domainOwnershipIdentifierName, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetDomainOwnershipIdentifierWithHttpMessagesAsync(resourceGroupName, name, domainOwnershipIdentifierName, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Creates a domain ownership identifier for web app, or updates an existing
            /// ownership identifier.
            /// </summary>
            /// <remarks>
            /// Description for Creates a domain ownership identifier for web app, or
            /// updates an existing ownership identifier.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='domainOwnershipIdentifierName'>
            /// Name of domain ownership identifier.
            /// </param>
            /// <param name='domainOwnershipIdentifier'>
            /// A JSON representation of the domain ownership properties.
            /// </param>
            public static Identifier CreateOrUpdateDomainOwnershipIdentifier(this IWebAppsOperations operations, string resourceGroupName, string name, string domainOwnershipIdentifierName, Identifier domainOwnershipIdentifier)
            {
                return operations.CreateOrUpdateDomainOwnershipIdentifierAsync(resourceGroupName, name, domainOwnershipIdentifierName, domainOwnershipIdentifier).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Creates a domain ownership identifier for web app, or updates an existing
            /// ownership identifier.
            /// </summary>
            /// <remarks>
            /// Description for Creates a domain ownership identifier for web app, or
            /// updates an existing ownership identifier.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='domainOwnershipIdentifierName'>
            /// Name of domain ownership identifier.
            /// </param>
            /// <param name='domainOwnershipIdentifier'>
            /// A JSON representation of the domain ownership properties.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<Identifier> CreateOrUpdateDomainOwnershipIdentifierAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string domainOwnershipIdentifierName, Identifier domainOwnershipIdentifier, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.CreateOrUpdateDomainOwnershipIdentifierWithHttpMessagesAsync(resourceGroupName, name, domainOwnershipIdentifierName, domainOwnershipIdentifier, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Deletes a domain ownership identifier for a web app.
            /// </summary>
            /// <remarks>
            /// Description for Deletes a domain ownership identifier for a web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='domainOwnershipIdentifierName'>
            /// Name of domain ownership identifier.
            /// </param>
            public static void DeleteDomainOwnershipIdentifier(this IWebAppsOperations operations, string resourceGroupName, string name, string domainOwnershipIdentifierName)
            {
                operations.DeleteDomainOwnershipIdentifierAsync(resourceGroupName, name, domainOwnershipIdentifierName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Deletes a domain ownership identifier for a web app.
            /// </summary>
            /// <remarks>
            /// Description for Deletes a domain ownership identifier for a web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='domainOwnershipIdentifierName'>
            /// Name of domain ownership identifier.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteDomainOwnershipIdentifierAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string domainOwnershipIdentifierName, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteDomainOwnershipIdentifierWithHttpMessagesAsync(resourceGroupName, name, domainOwnershipIdentifierName, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Creates a domain ownership identifier for web app, or updates an existing
            /// ownership identifier.
            /// </summary>
            /// <remarks>
            /// Description for Creates a domain ownership identifier for web app, or
            /// updates an existing ownership identifier.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='domainOwnershipIdentifierName'>
            /// Name of domain ownership identifier.
            /// </param>
            /// <param name='domainOwnershipIdentifier'>
            /// A JSON representation of the domain ownership properties.
            /// </param>
            public static Identifier UpdateDomainOwnershipIdentifier(this IWebAppsOperations operations, string resourceGroupName, string name, string domainOwnershipIdentifierName, Identifier domainOwnershipIdentifier)
            {
                return operations.UpdateDomainOwnershipIdentifierAsync(resourceGroupName, name, domainOwnershipIdentifierName, domainOwnershipIdentifier).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Creates a domain ownership identifier for web app, or updates an existing
            /// ownership identifier.
            /// </summary>
            /// <remarks>
            /// Description for Creates a domain ownership identifier for web app, or
            /// updates an existing ownership identifier.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='domainOwnershipIdentifierName'>
            /// Name of domain ownership identifier.
            /// </param>
            /// <param name='domainOwnershipIdentifier'>
            /// A JSON representation of the domain ownership properties.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<Identifier> UpdateDomainOwnershipIdentifierAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string domainOwnershipIdentifierName, Identifier domainOwnershipIdentifier, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateDomainOwnershipIdentifierWithHttpMessagesAsync(resourceGroupName, name, domainOwnershipIdentifierName, domainOwnershipIdentifier, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get the status of the last MSDeploy operation.
            /// </summary>
            /// <remarks>
            /// Description for Get the status of the last MSDeploy operation.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            public static MSDeployStatus GetMSDeployStatus(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.GetMSDeployStatusAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get the status of the last MSDeploy operation.
            /// </summary>
            /// <remarks>
            /// Description for Get the status of the last MSDeploy operation.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<MSDeployStatus> GetMSDeployStatusAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetMSDeployStatusWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Invoke the MSDeploy web app extension.
            /// </summary>
            /// <remarks>
            /// Description for Invoke the MSDeploy web app extension.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='mSDeploy'>
            /// Details of MSDeploy operation
            /// </param>
            public static MSDeployStatus CreateMSDeployOperation(this IWebAppsOperations operations, string resourceGroupName, string name, MSDeploy mSDeploy)
            {
                return operations.CreateMSDeployOperationAsync(resourceGroupName, name, mSDeploy).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Invoke the MSDeploy web app extension.
            /// </summary>
            /// <remarks>
            /// Description for Invoke the MSDeploy web app extension.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='mSDeploy'>
            /// Details of MSDeploy operation
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<MSDeployStatus> CreateMSDeployOperationAsync(this IWebAppsOperations operations, string resourceGroupName, string name, MSDeploy mSDeploy, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.CreateMSDeployOperationWithHttpMessagesAsync(resourceGroupName, name, mSDeploy, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get the MSDeploy Log for the last MSDeploy operation.
            /// </summary>
            /// <remarks>
            /// Description for Get the MSDeploy Log for the last MSDeploy operation.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            public static MSDeployLog GetMSDeployLog(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.GetMSDeployLogAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get the MSDeploy Log for the last MSDeploy operation.
            /// </summary>
            /// <remarks>
            /// Description for Get the MSDeploy Log for the last MSDeploy operation.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<MSDeployLog> GetMSDeployLogAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetMSDeployLogWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// List the functions for a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List the functions for a web site, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            public static IPage<FunctionEnvelope> ListFunctions(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.ListFunctionsAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List the functions for a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List the functions for a web site, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<FunctionEnvelope>> ListFunctionsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListFunctionsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Fetch a short lived token that can be exchanged for a master key.
            /// </summary>
            /// <remarks>
            /// Description for Fetch a short lived token that can be exchanged for a
            /// master key.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            public static string GetFunctionsAdminToken(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.GetFunctionsAdminTokenAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Fetch a short lived token that can be exchanged for a master key.
            /// </summary>
            /// <remarks>
            /// Description for Fetch a short lived token that can be exchanged for a
            /// master key.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<string> GetFunctionsAdminTokenAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetFunctionsAdminTokenWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get function information by its ID for web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get function information by its ID for web site, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='functionName'>
            /// Function name.
            /// </param>
            public static FunctionEnvelope GetFunction(this IWebAppsOperations operations, string resourceGroupName, string name, string functionName)
            {
                return operations.GetFunctionAsync(resourceGroupName, name, functionName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get function information by its ID for web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get function information by its ID for web site, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='functionName'>
            /// Function name.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<FunctionEnvelope> GetFunctionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string functionName, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetFunctionWithHttpMessagesAsync(resourceGroupName, name, functionName, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Create function for web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Create function for web site, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='functionName'>
            /// Function name.
            /// </param>
            /// <param name='functionEnvelope'>
            /// Function details.
            /// </param>
            public static FunctionEnvelope CreateFunction(this IWebAppsOperations operations, string resourceGroupName, string name, string functionName, FunctionEnvelope functionEnvelope)
            {
                return operations.CreateFunctionAsync(resourceGroupName, name, functionName, functionEnvelope).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Create function for web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Create function for web site, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='functionName'>
            /// Function name.
            /// </param>
            /// <param name='functionEnvelope'>
            /// Function details.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<FunctionEnvelope> CreateFunctionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string functionName, FunctionEnvelope functionEnvelope, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.CreateFunctionWithHttpMessagesAsync(resourceGroupName, name, functionName, functionEnvelope, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Delete a function for web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Delete a function for web site, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='functionName'>
            /// Function name.
            /// </param>
            public static void DeleteFunction(this IWebAppsOperations operations, string resourceGroupName, string name, string functionName)
            {
                operations.DeleteFunctionAsync(resourceGroupName, name, functionName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Delete a function for web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Delete a function for web site, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='functionName'>
            /// Function name.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteFunctionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string functionName, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteFunctionWithHttpMessagesAsync(resourceGroupName, name, functionName, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Add or update a function secret.
            /// </summary>
            /// <remarks>
            /// Description for Add or update a function secret.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='functionName'>
            /// The name of the function.
            /// </param>
            /// <param name='keyName'>
            /// The name of the key.
            /// </param>
            /// <param name='key'>
            /// The key to create or update
            /// </param>
            public static KeyInfo CreateOrUpdateFunctionSecret(this IWebAppsOperations operations, string resourceGroupName, string name, string functionName, string keyName, KeyInfo key)
            {
                return operations.CreateOrUpdateFunctionSecretAsync(resourceGroupName, name, functionName, keyName, key).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Add or update a function secret.
            /// </summary>
            /// <remarks>
            /// Description for Add or update a function secret.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='functionName'>
            /// The name of the function.
            /// </param>
            /// <param name='keyName'>
            /// The name of the key.
            /// </param>
            /// <param name='key'>
            /// The key to create or update
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<KeyInfo> CreateOrUpdateFunctionSecretAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string functionName, string keyName, KeyInfo key, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.CreateOrUpdateFunctionSecretWithHttpMessagesAsync(resourceGroupName, name, functionName, keyName, key, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Delete a function secret.
            /// </summary>
            /// <remarks>
            /// Description for Delete a function secret.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='functionName'>
            /// The name of the function.
            /// </param>
            /// <param name='keyName'>
            /// The name of the key.
            /// </param>
            public static void DeleteFunctionSecret(this IWebAppsOperations operations, string resourceGroupName, string name, string functionName, string keyName)
            {
                operations.DeleteFunctionSecretAsync(resourceGroupName, name, functionName, keyName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Delete a function secret.
            /// </summary>
            /// <remarks>
            /// Description for Delete a function secret.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='functionName'>
            /// The name of the function.
            /// </param>
            /// <param name='keyName'>
            /// The name of the key.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteFunctionSecretAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string functionName, string keyName, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteFunctionSecretWithHttpMessagesAsync(resourceGroupName, name, functionName, keyName, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Get function keys for a function in a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get function keys for a function in a web site, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='functionName'>
            /// Function name.
            /// </param>
            public static StringDictionary ListFunctionKeys(this IWebAppsOperations operations, string resourceGroupName, string name, string functionName)
            {
                return operations.ListFunctionKeysAsync(resourceGroupName, name, functionName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get function keys for a function in a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get function keys for a function in a web site, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='functionName'>
            /// Function name.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<StringDictionary> ListFunctionKeysAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string functionName, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListFunctionKeysWithHttpMessagesAsync(resourceGroupName, name, functionName, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get function secrets for a function in a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get function secrets for a function in a web site, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='functionName'>
            /// Function name.
            /// </param>
            public static FunctionSecrets ListFunctionSecrets(this IWebAppsOperations operations, string resourceGroupName, string name, string functionName)
            {
                return operations.ListFunctionSecretsAsync(resourceGroupName, name, functionName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get function secrets for a function in a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get function secrets for a function in a web site, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='functionName'>
            /// Function name.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<FunctionSecrets> ListFunctionSecretsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string functionName, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListFunctionSecretsWithHttpMessagesAsync(resourceGroupName, name, functionName, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get host secrets for a function app.
            /// </summary>
            /// <remarks>
            /// Description for Get host secrets for a function app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            public static HostKeys ListHostKeys(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.ListHostKeysAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get host secrets for a function app.
            /// </summary>
            /// <remarks>
            /// Description for Get host secrets for a function app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<HostKeys> ListHostKeysAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListHostKeysWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// This is to allow calling via powershell and ARM template.
            /// </summary>
            /// <remarks>
            /// Description for This is to allow calling via powershell and ARM template.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static void ListSyncStatus(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                operations.ListSyncStatusAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// This is to allow calling via powershell and ARM template.
            /// </summary>
            /// <remarks>
            /// Description for This is to allow calling via powershell and ARM template.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task ListSyncStatusAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.ListSyncStatusWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Syncs function trigger metadata to the management database
            /// </summary>
            /// <remarks>
            /// Description for Syncs function trigger metadata to the management database
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static void SyncFunctions(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                operations.SyncFunctionsAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Syncs function trigger metadata to the management database
            /// </summary>
            /// <remarks>
            /// Description for Syncs function trigger metadata to the management database
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task SyncFunctionsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.SyncFunctionsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Add or update a host level secret.
            /// </summary>
            /// <remarks>
            /// Description for Add or update a host level secret.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='keyType'>
            /// The type of host key.
            /// </param>
            /// <param name='keyName'>
            /// The name of the key.
            /// </param>
            /// <param name='key'>
            /// The key to create or update
            /// </param>
            public static KeyInfo CreateOrUpdateHostSecret(this IWebAppsOperations operations, string resourceGroupName, string name, string keyType, string keyName, KeyInfo key)
            {
                return operations.CreateOrUpdateHostSecretAsync(resourceGroupName, name, keyType, keyName, key).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Add or update a host level secret.
            /// </summary>
            /// <remarks>
            /// Description for Add or update a host level secret.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='keyType'>
            /// The type of host key.
            /// </param>
            /// <param name='keyName'>
            /// The name of the key.
            /// </param>
            /// <param name='key'>
            /// The key to create or update
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<KeyInfo> CreateOrUpdateHostSecretAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string keyType, string keyName, KeyInfo key, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.CreateOrUpdateHostSecretWithHttpMessagesAsync(resourceGroupName, name, keyType, keyName, key, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Delete a host level secret.
            /// </summary>
            /// <remarks>
            /// Description for Delete a host level secret.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='keyType'>
            /// The type of host key.
            /// </param>
            /// <param name='keyName'>
            /// The name of the key.
            /// </param>
            public static void DeleteHostSecret(this IWebAppsOperations operations, string resourceGroupName, string name, string keyType, string keyName)
            {
                operations.DeleteHostSecretAsync(resourceGroupName, name, keyType, keyName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Delete a host level secret.
            /// </summary>
            /// <remarks>
            /// Description for Delete a host level secret.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='keyType'>
            /// The type of host key.
            /// </param>
            /// <param name='keyName'>
            /// The name of the key.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteHostSecretAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string keyType, string keyName, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteHostSecretWithHttpMessagesAsync(resourceGroupName, name, keyType, keyName, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Get hostname bindings for an app or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get hostname bindings for an app or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static IPage<HostNameBinding> ListHostNameBindings(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.ListHostNameBindingsAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get hostname bindings for an app or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get hostname bindings for an app or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<HostNameBinding>> ListHostNameBindingsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListHostNameBindingsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get the named hostname binding for an app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Get the named hostname binding for an app (or deployment
            /// slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='hostName'>
            /// Hostname in the hostname binding.
            /// </param>
            public static HostNameBinding GetHostNameBinding(this IWebAppsOperations operations, string resourceGroupName, string name, string hostName)
            {
                return operations.GetHostNameBindingAsync(resourceGroupName, name, hostName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get the named hostname binding for an app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Get the named hostname binding for an app (or deployment
            /// slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='hostName'>
            /// Hostname in the hostname binding.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<HostNameBinding> GetHostNameBindingAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string hostName, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetHostNameBindingWithHttpMessagesAsync(resourceGroupName, name, hostName, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Creates a hostname binding for an app.
            /// </summary>
            /// <remarks>
            /// Description for Creates a hostname binding for an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='hostName'>
            /// Hostname in the hostname binding.
            /// </param>
            /// <param name='hostNameBinding'>
            /// Binding details. This is the JSON representation of a HostNameBinding
            /// object.
            /// </param>
            public static HostNameBinding CreateOrUpdateHostNameBinding(this IWebAppsOperations operations, string resourceGroupName, string name, string hostName, HostNameBinding hostNameBinding)
            {
                return operations.CreateOrUpdateHostNameBindingAsync(resourceGroupName, name, hostName, hostNameBinding).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Creates a hostname binding for an app.
            /// </summary>
            /// <remarks>
            /// Description for Creates a hostname binding for an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='hostName'>
            /// Hostname in the hostname binding.
            /// </param>
            /// <param name='hostNameBinding'>
            /// Binding details. This is the JSON representation of a HostNameBinding
            /// object.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<HostNameBinding> CreateOrUpdateHostNameBindingAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string hostName, HostNameBinding hostNameBinding, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.CreateOrUpdateHostNameBindingWithHttpMessagesAsync(resourceGroupName, name, hostName, hostNameBinding, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Deletes a hostname binding for an app.
            /// </summary>
            /// <remarks>
            /// Description for Deletes a hostname binding for an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='hostName'>
            /// Hostname in the hostname binding.
            /// </param>
            public static void DeleteHostNameBinding(this IWebAppsOperations operations, string resourceGroupName, string name, string hostName)
            {
                operations.DeleteHostNameBindingAsync(resourceGroupName, name, hostName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Deletes a hostname binding for an app.
            /// </summary>
            /// <remarks>
            /// Description for Deletes a hostname binding for an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='hostName'>
            /// Hostname in the hostname binding.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteHostNameBindingAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string hostName, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteHostNameBindingWithHttpMessagesAsync(resourceGroupName, name, hostName, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Retrieves a specific Service Bus Hybrid Connection used by this Web App.
            /// </summary>
            /// <remarks>
            /// Description for Retrieves a specific Service Bus Hybrid Connection used by
            /// this Web App.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='namespaceName'>
            /// The namespace for this hybrid connection.
            /// </param>
            /// <param name='relayName'>
            /// The relay name for this hybrid connection.
            /// </param>
            public static HybridConnection GetHybridConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName)
            {
                return operations.GetHybridConnectionAsync(resourceGroupName, name, namespaceName, relayName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Retrieves a specific Service Bus Hybrid Connection used by this Web App.
            /// </summary>
            /// <remarks>
            /// Description for Retrieves a specific Service Bus Hybrid Connection used by
            /// this Web App.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='namespaceName'>
            /// The namespace for this hybrid connection.
            /// </param>
            /// <param name='relayName'>
            /// The relay name for this hybrid connection.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<HybridConnection> GetHybridConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetHybridConnectionWithHttpMessagesAsync(resourceGroupName, name, namespaceName, relayName, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Creates a new Hybrid Connection using a Service Bus relay.
            /// </summary>
            /// <remarks>
            /// Description for Creates a new Hybrid Connection using a Service Bus relay.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='namespaceName'>
            /// The namespace for this hybrid connection.
            /// </param>
            /// <param name='relayName'>
            /// The relay name for this hybrid connection.
            /// </param>
            /// <param name='connectionEnvelope'>
            /// The details of the hybrid connection.
            /// </param>
            public static HybridConnection CreateOrUpdateHybridConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope)
            {
                return operations.CreateOrUpdateHybridConnectionAsync(resourceGroupName, name, namespaceName, relayName, connectionEnvelope).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Creates a new Hybrid Connection using a Service Bus relay.
            /// </summary>
            /// <remarks>
            /// Description for Creates a new Hybrid Connection using a Service Bus relay.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='namespaceName'>
            /// The namespace for this hybrid connection.
            /// </param>
            /// <param name='relayName'>
            /// The relay name for this hybrid connection.
            /// </param>
            /// <param name='connectionEnvelope'>
            /// The details of the hybrid connection.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<HybridConnection> CreateOrUpdateHybridConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.CreateOrUpdateHybridConnectionWithHttpMessagesAsync(resourceGroupName, name, namespaceName, relayName, connectionEnvelope, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Removes a Hybrid Connection from this site.
            /// </summary>
            /// <remarks>
            /// Description for Removes a Hybrid Connection from this site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='namespaceName'>
            /// The namespace for this hybrid connection.
            /// </param>
            /// <param name='relayName'>
            /// The relay name for this hybrid connection.
            /// </param>
            public static void DeleteHybridConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName)
            {
                operations.DeleteHybridConnectionAsync(resourceGroupName, name, namespaceName, relayName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Removes a Hybrid Connection from this site.
            /// </summary>
            /// <remarks>
            /// Description for Removes a Hybrid Connection from this site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='namespaceName'>
            /// The namespace for this hybrid connection.
            /// </param>
            /// <param name='relayName'>
            /// The relay name for this hybrid connection.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteHybridConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteHybridConnectionWithHttpMessagesAsync(resourceGroupName, name, namespaceName, relayName, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Creates a new Hybrid Connection using a Service Bus relay.
            /// </summary>
            /// <remarks>
            /// Description for Creates a new Hybrid Connection using a Service Bus relay.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='namespaceName'>
            /// The namespace for this hybrid connection.
            /// </param>
            /// <param name='relayName'>
            /// The relay name for this hybrid connection.
            /// </param>
            /// <param name='connectionEnvelope'>
            /// The details of the hybrid connection.
            /// </param>
            public static HybridConnection UpdateHybridConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope)
            {
                return operations.UpdateHybridConnectionAsync(resourceGroupName, name, namespaceName, relayName, connectionEnvelope).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Creates a new Hybrid Connection using a Service Bus relay.
            /// </summary>
            /// <remarks>
            /// Description for Creates a new Hybrid Connection using a Service Bus relay.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='namespaceName'>
            /// The namespace for this hybrid connection.
            /// </param>
            /// <param name='relayName'>
            /// The relay name for this hybrid connection.
            /// </param>
            /// <param name='connectionEnvelope'>
            /// The details of the hybrid connection.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<HybridConnection> UpdateHybridConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateHybridConnectionWithHttpMessagesAsync(resourceGroupName, name, namespaceName, relayName, connectionEnvelope, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Retrieves all Service Bus Hybrid Connections used by this Web App.
            /// </summary>
            /// <remarks>
            /// Description for Retrieves all Service Bus Hybrid Connections used by this
            /// Web App.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            public static HybridConnection ListHybridConnections(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.ListHybridConnectionsAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Retrieves all Service Bus Hybrid Connections used by this Web App.
            /// </summary>
            /// <remarks>
            /// Description for Retrieves all Service Bus Hybrid Connections used by this
            /// Web App.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<HybridConnection> ListHybridConnectionsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListHybridConnectionsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets hybrid connections configured for an app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets hybrid connections configured for an app (or
            /// deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static RelayServiceConnectionEntity ListRelayServiceConnections(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.ListRelayServiceConnectionsAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets hybrid connections configured for an app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets hybrid connections configured for an app (or
            /// deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<RelayServiceConnectionEntity> ListRelayServiceConnectionsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListRelayServiceConnectionsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets a hybrid connection configuration by its name.
            /// </summary>
            /// <remarks>
            /// Description for Gets a hybrid connection configuration by its name.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='entityName'>
            /// Name of the hybrid connection.
            /// </param>
            public static RelayServiceConnectionEntity GetRelayServiceConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName)
            {
                return operations.GetRelayServiceConnectionAsync(resourceGroupName, name, entityName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets a hybrid connection configuration by its name.
            /// </summary>
            /// <remarks>
            /// Description for Gets a hybrid connection configuration by its name.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='entityName'>
            /// Name of the hybrid connection.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<RelayServiceConnectionEntity> GetRelayServiceConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetRelayServiceConnectionWithHttpMessagesAsync(resourceGroupName, name, entityName, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Creates a new hybrid connection configuration (PUT), or updates an existing
            /// one (PATCH).
            /// </summary>
            /// <remarks>
            /// Description for Creates a new hybrid connection configuration (PUT), or
            /// updates an existing one (PATCH).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='entityName'>
            /// Name of the hybrid connection configuration.
            /// </param>
            /// <param name='connectionEnvelope'>
            /// Details of the hybrid connection configuration.
            /// </param>
            public static RelayServiceConnectionEntity CreateOrUpdateRelayServiceConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope)
            {
                return operations.CreateOrUpdateRelayServiceConnectionAsync(resourceGroupName, name, entityName, connectionEnvelope).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Creates a new hybrid connection configuration (PUT), or updates an existing
            /// one (PATCH).
            /// </summary>
            /// <remarks>
            /// Description for Creates a new hybrid connection configuration (PUT), or
            /// updates an existing one (PATCH).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='entityName'>
            /// Name of the hybrid connection configuration.
            /// </param>
            /// <param name='connectionEnvelope'>
            /// Details of the hybrid connection configuration.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<RelayServiceConnectionEntity> CreateOrUpdateRelayServiceConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.CreateOrUpdateRelayServiceConnectionWithHttpMessagesAsync(resourceGroupName, name, entityName, connectionEnvelope, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Deletes a relay service connection by its name.
            /// </summary>
            /// <remarks>
            /// Description for Deletes a relay service connection by its name.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='entityName'>
            /// Name of the hybrid connection configuration.
            /// </param>
            public static void DeleteRelayServiceConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName)
            {
                operations.DeleteRelayServiceConnectionAsync(resourceGroupName, name, entityName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Deletes a relay service connection by its name.
            /// </summary>
            /// <remarks>
            /// Description for Deletes a relay service connection by its name.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='entityName'>
            /// Name of the hybrid connection configuration.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteRelayServiceConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteRelayServiceConnectionWithHttpMessagesAsync(resourceGroupName, name, entityName, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Creates a new hybrid connection configuration (PUT), or updates an existing
            /// one (PATCH).
            /// </summary>
            /// <remarks>
            /// Description for Creates a new hybrid connection configuration (PUT), or
            /// updates an existing one (PATCH).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='entityName'>
            /// Name of the hybrid connection configuration.
            /// </param>
            /// <param name='connectionEnvelope'>
            /// Details of the hybrid connection configuration.
            /// </param>
            public static RelayServiceConnectionEntity UpdateRelayServiceConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope)
            {
                return operations.UpdateRelayServiceConnectionAsync(resourceGroupName, name, entityName, connectionEnvelope).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Creates a new hybrid connection configuration (PUT), or updates an existing
            /// one (PATCH).
            /// </summary>
            /// <remarks>
            /// Description for Creates a new hybrid connection configuration (PUT), or
            /// updates an existing one (PATCH).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='entityName'>
            /// Name of the hybrid connection configuration.
            /// </param>
            /// <param name='connectionEnvelope'>
            /// Details of the hybrid connection configuration.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<RelayServiceConnectionEntity> UpdateRelayServiceConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateRelayServiceConnectionWithHttpMessagesAsync(resourceGroupName, name, entityName, connectionEnvelope, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets all scale-out instances of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets all scale-out instances of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static IPage<WebSiteInstanceStatus> ListInstanceIdentifiers(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.ListInstanceIdentifiersAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets all scale-out instances of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets all scale-out instances of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<WebSiteInstanceStatus>> ListInstanceIdentifiersAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListInstanceIdentifiersWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets all scale-out instances of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets all scale-out instances of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='instanceId'>
            /// </param>
            public static WebSiteInstanceStatus GetInstanceInfo(this IWebAppsOperations operations, string resourceGroupName, string name, string instanceId)
            {
                return operations.GetInstanceInfoAsync(resourceGroupName, name, instanceId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets all scale-out instances of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets all scale-out instances of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='instanceId'>
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<WebSiteInstanceStatus> GetInstanceInfoAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string instanceId, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetInstanceInfoWithHttpMessagesAsync(resourceGroupName, name, instanceId, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get the status of the last MSDeploy operation.
            /// </summary>
            /// <remarks>
            /// Description for Get the status of the last MSDeploy operation.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='instanceId'>
            /// ID of web app instance.
            /// </param>
            public static MSDeployStatus GetInstanceMsDeployStatus(this IWebAppsOperations operations, string resourceGroupName, string name, string instanceId)
            {
                return operations.GetInstanceMsDeployStatusAsync(resourceGroupName, name, instanceId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get the status of the last MSDeploy operation.
            /// </summary>
            /// <remarks>
            /// Description for Get the status of the last MSDeploy operation.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='instanceId'>
            /// ID of web app instance.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<MSDeployStatus> GetInstanceMsDeployStatusAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string instanceId, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetInstanceMsDeployStatusWithHttpMessagesAsync(resourceGroupName, name, instanceId, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Invoke the MSDeploy web app extension.
            /// </summary>
            /// <remarks>
            /// Description for Invoke the MSDeploy web app extension.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='instanceId'>
            /// ID of web app instance.
            /// </param>
            /// <param name='mSDeploy'>
            /// Details of MSDeploy operation
            /// </param>
            public static MSDeployStatus CreateInstanceMSDeployOperation(this IWebAppsOperations operations, string resourceGroupName, string name, string instanceId, MSDeploy mSDeploy)
            {
                return operations.CreateInstanceMSDeployOperationAsync(resourceGroupName, name, instanceId, mSDeploy).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Invoke the MSDeploy web app extension.
            /// </summary>
            /// <remarks>
            /// Description for Invoke the MSDeploy web app extension.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='instanceId'>
            /// ID of web app instance.
            /// </param>
            /// <param name='mSDeploy'>
            /// Details of MSDeploy operation
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<MSDeployStatus> CreateInstanceMSDeployOperationAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string instanceId, MSDeploy mSDeploy, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.CreateInstanceMSDeployOperationWithHttpMessagesAsync(resourceGroupName, name, instanceId, mSDeploy, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get the MSDeploy Log for the last MSDeploy operation.
            /// </summary>
            /// <remarks>
            /// Description for Get the MSDeploy Log for the last MSDeploy operation.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='instanceId'>
            /// ID of web app instance.
            /// </param>
            public static MSDeployLog GetInstanceMSDeployLog(this IWebAppsOperations operations, string resourceGroupName, string name, string instanceId)
            {
                return operations.GetInstanceMSDeployLogAsync(resourceGroupName, name, instanceId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get the MSDeploy Log for the last MSDeploy operation.
            /// </summary>
            /// <remarks>
            /// Description for Get the MSDeploy Log for the last MSDeploy operation.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='instanceId'>
            /// ID of web app instance.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<MSDeployLog> GetInstanceMSDeployLogAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string instanceId, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetInstanceMSDeployLogWithHttpMessagesAsync(resourceGroupName, name, instanceId, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get list of processes for a web site, or a deployment slot, or for a
            /// specific scaled-out instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for Get list of processes for a web site, or a deployment slot,
            /// or for a specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='instanceId'>
            /// ID of a specific scaled-out instance. This is the value of the name
            /// property in the JSON response from "GET api/sites/{siteName}/instances".
            /// </param>
            public static IPage<ProcessInfo> ListInstanceProcesses(this IWebAppsOperations operations, string resourceGroupName, string name, string instanceId)
            {
                return operations.ListInstanceProcessesAsync(resourceGroupName, name, instanceId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get list of processes for a web site, or a deployment slot, or for a
            /// specific scaled-out instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for Get list of processes for a web site, or a deployment slot,
            /// or for a specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='instanceId'>
            /// ID of a specific scaled-out instance. This is the value of the name
            /// property in the JSON response from "GET api/sites/{siteName}/instances".
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ProcessInfo>> ListInstanceProcessesAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string instanceId, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListInstanceProcessesWithHttpMessagesAsync(resourceGroupName, name, instanceId, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get process information by its ID for a specific scaled-out instance in a
            /// web site.
            /// </summary>
            /// <remarks>
            /// Description for Get process information by its ID for a specific scaled-out
            /// instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='instanceId'>
            /// ID of a specific scaled-out instance. This is the value of the name
            /// property in the JSON response from "GET api/sites/{siteName}/instances".
            /// </param>
            public static ProcessInfo GetInstanceProcess(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string instanceId)
            {
                return operations.GetInstanceProcessAsync(resourceGroupName, name, processId, instanceId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get process information by its ID for a specific scaled-out instance in a
            /// web site.
            /// </summary>
            /// <remarks>
            /// Description for Get process information by its ID for a specific scaled-out
            /// instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='instanceId'>
            /// ID of a specific scaled-out instance. This is the value of the name
            /// property in the JSON response from "GET api/sites/{siteName}/instances".
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<ProcessInfo> GetInstanceProcessAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string instanceId, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetInstanceProcessWithHttpMessagesAsync(resourceGroupName, name, processId, instanceId, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Terminate a process by its ID for a web site, or a deployment slot, or
            /// specific scaled-out instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for Terminate a process by its ID for a web site, or a
            /// deployment slot, or specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='instanceId'>
            /// ID of a specific scaled-out instance. This is the value of the name
            /// property in the JSON response from "GET api/sites/{siteName}/instances".
            /// </param>
            public static void DeleteInstanceProcess(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string instanceId)
            {
                operations.DeleteInstanceProcessAsync(resourceGroupName, name, processId, instanceId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Terminate a process by its ID for a web site, or a deployment slot, or
            /// specific scaled-out instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for Terminate a process by its ID for a web site, or a
            /// deployment slot, or specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='instanceId'>
            /// ID of a specific scaled-out instance. This is the value of the name
            /// property in the JSON response from "GET api/sites/{siteName}/instances".
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteInstanceProcessAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string instanceId, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteInstanceProcessWithHttpMessagesAsync(resourceGroupName, name, processId, instanceId, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Get a memory dump of a process by its ID for a specific scaled-out instance
            /// in a web site.
            /// </summary>
            /// <remarks>
            /// Description for Get a memory dump of a process by its ID for a specific
            /// scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='instanceId'>
            /// ID of a specific scaled-out instance. This is the value of the name
            /// property in the JSON response from "GET api/sites/{siteName}/instances".
            /// </param>
            public static Stream GetInstanceProcessDump(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string instanceId)
            {
                return operations.GetInstanceProcessDumpAsync(resourceGroupName, name, processId, instanceId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get a memory dump of a process by its ID for a specific scaled-out instance
            /// in a web site.
            /// </summary>
            /// <remarks>
            /// Description for Get a memory dump of a process by its ID for a specific
            /// scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='instanceId'>
            /// ID of a specific scaled-out instance. This is the value of the name
            /// property in the JSON response from "GET api/sites/{siteName}/instances".
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<Stream> GetInstanceProcessDumpAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string instanceId, CancellationToken cancellationToken = default(CancellationToken))
            {
                var _result = await operations.GetInstanceProcessDumpWithHttpMessagesAsync(resourceGroupName, name, processId, instanceId, null, cancellationToken).ConfigureAwait(false);
                _result.Request.Dispose();
                return _result.Body;
            }
 
            /// <summary>
            /// List module information for a process by its ID for a specific scaled-out
            /// instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for List module information for a process by its ID for a
            /// specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='instanceId'>
            /// ID of a specific scaled-out instance. This is the value of the name
            /// property in the JSON response from "GET api/sites/{siteName}/instances".
            /// </param>
            public static IPage<ProcessModuleInfo> ListInstanceProcessModules(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string instanceId)
            {
                return operations.ListInstanceProcessModulesAsync(resourceGroupName, name, processId, instanceId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List module information for a process by its ID for a specific scaled-out
            /// instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for List module information for a process by its ID for a
            /// specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='instanceId'>
            /// ID of a specific scaled-out instance. This is the value of the name
            /// property in the JSON response from "GET api/sites/{siteName}/instances".
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ProcessModuleInfo>> ListInstanceProcessModulesAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string instanceId, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListInstanceProcessModulesWithHttpMessagesAsync(resourceGroupName, name, processId, instanceId, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get process information by its ID for a specific scaled-out instance in a
            /// web site.
            /// </summary>
            /// <remarks>
            /// Description for Get process information by its ID for a specific scaled-out
            /// instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='baseAddress'>
            /// Module base address.
            /// </param>
            /// <param name='instanceId'>
            /// ID of a specific scaled-out instance. This is the value of the name
            /// property in the JSON response from "GET api/sites/{siteName}/instances".
            /// </param>
            public static ProcessModuleInfo GetInstanceProcessModule(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string baseAddress, string instanceId)
            {
                return operations.GetInstanceProcessModuleAsync(resourceGroupName, name, processId, baseAddress, instanceId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get process information by its ID for a specific scaled-out instance in a
            /// web site.
            /// </summary>
            /// <remarks>
            /// Description for Get process information by its ID for a specific scaled-out
            /// instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='baseAddress'>
            /// Module base address.
            /// </param>
            /// <param name='instanceId'>
            /// ID of a specific scaled-out instance. This is the value of the name
            /// property in the JSON response from "GET api/sites/{siteName}/instances".
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<ProcessModuleInfo> GetInstanceProcessModuleAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string baseAddress, string instanceId, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetInstanceProcessModuleWithHttpMessagesAsync(resourceGroupName, name, processId, baseAddress, instanceId, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// List the threads in a process by its ID for a specific scaled-out instance
            /// in a web site.
            /// </summary>
            /// <remarks>
            /// Description for List the threads in a process by its ID for a specific
            /// scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='instanceId'>
            /// ID of a specific scaled-out instance. This is the value of the name
            /// property in the JSON response from "GET api/sites/{siteName}/instances".
            /// </param>
            public static IPage<ProcessThreadInfo> ListInstanceProcessThreads(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string instanceId)
            {
                return operations.ListInstanceProcessThreadsAsync(resourceGroupName, name, processId, instanceId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List the threads in a process by its ID for a specific scaled-out instance
            /// in a web site.
            /// </summary>
            /// <remarks>
            /// Description for List the threads in a process by its ID for a specific
            /// scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='instanceId'>
            /// ID of a specific scaled-out instance. This is the value of the name
            /// property in the JSON response from "GET api/sites/{siteName}/instances".
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ProcessThreadInfo>> ListInstanceProcessThreadsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string instanceId, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListInstanceProcessThreadsWithHttpMessagesAsync(resourceGroupName, name, processId, instanceId, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Shows whether an app can be cloned to another resource group or
            /// subscription.
            /// </summary>
            /// <remarks>
            /// Description for Shows whether an app can be cloned to another resource
            /// group or subscription.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static SiteCloneability IsCloneable(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.IsCloneableAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Shows whether an app can be cloned to another resource group or
            /// subscription.
            /// </summary>
            /// <remarks>
            /// Description for Shows whether an app can be cloned to another resource
            /// group or subscription.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteCloneability> IsCloneableAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.IsCloneableWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets existing backups of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets existing backups of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static IPage<BackupItem> ListSiteBackups(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.ListSiteBackupsAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets existing backups of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets existing backups of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<BackupItem>> ListSiteBackupsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListSiteBackupsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// This is to allow calling via powershell and ARM template.
            /// </summary>
            /// <remarks>
            /// Description for This is to allow calling via powershell and ARM template.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static FunctionSecrets ListSyncFunctionTriggers(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.ListSyncFunctionTriggersAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// This is to allow calling via powershell and ARM template.
            /// </summary>
            /// <remarks>
            /// Description for This is to allow calling via powershell and ARM template.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<FunctionSecrets> ListSyncFunctionTriggersAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListSyncFunctionTriggersWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Restores a web app.
            /// </summary>
            /// <remarks>
            /// Description for Restores a web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='subscriptionName'>
            /// Azure subscription.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='migrationOptions'>
            /// Migration migrationOptions.
            /// </param>
            public static StorageMigrationResponse MigrateStorage(this IWebAppsOperations operations, string subscriptionName, string resourceGroupName, string name, StorageMigrationOptions migrationOptions)
            {
                return operations.MigrateStorageAsync(subscriptionName, resourceGroupName, name, migrationOptions).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Restores a web app.
            /// </summary>
            /// <remarks>
            /// Description for Restores a web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='subscriptionName'>
            /// Azure subscription.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='migrationOptions'>
            /// Migration migrationOptions.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<StorageMigrationResponse> MigrateStorageAsync(this IWebAppsOperations operations, string subscriptionName, string resourceGroupName, string name, StorageMigrationOptions migrationOptions, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.MigrateStorageWithHttpMessagesAsync(subscriptionName, resourceGroupName, name, migrationOptions, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Migrates a local (in-app) MySql database to a remote MySql database.
            /// </summary>
            /// <remarks>
            /// Description for Migrates a local (in-app) MySql database to a remote MySql
            /// database.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='migrationRequestEnvelope'>
            /// MySql migration options.
            /// </param>
            public static Operation MigrateMySql(this IWebAppsOperations operations, string resourceGroupName, string name, MigrateMySqlRequest migrationRequestEnvelope)
            {
                return operations.MigrateMySqlAsync(resourceGroupName, name, migrationRequestEnvelope).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Migrates a local (in-app) MySql database to a remote MySql database.
            /// </summary>
            /// <remarks>
            /// Description for Migrates a local (in-app) MySql database to a remote MySql
            /// database.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='migrationRequestEnvelope'>
            /// MySql migration options.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<Operation> MigrateMySqlAsync(this IWebAppsOperations operations, string resourceGroupName, string name, MigrateMySqlRequest migrationRequestEnvelope, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.MigrateMySqlWithHttpMessagesAsync(resourceGroupName, name, migrationRequestEnvelope, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Returns the status of MySql in app migration, if one is active, and whether
            /// or not MySql in app is enabled
            /// </summary>
            /// <remarks>
            /// Description for Returns the status of MySql in app migration, if one is
            /// active, and whether or not MySql in app is enabled
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            public static MigrateMySqlStatus GetMigrateMySqlStatus(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.GetMigrateMySqlStatusAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Returns the status of MySql in app migration, if one is active, and whether
            /// or not MySql in app is enabled
            /// </summary>
            /// <remarks>
            /// Description for Returns the status of MySql in app migration, if one is
            /// active, and whether or not MySql in app is enabled
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<MigrateMySqlStatus> GetMigrateMySqlStatusAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetMigrateMySqlStatusWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets a Swift Virtual Network connection.
            /// </summary>
            /// <remarks>
            /// Description for Gets a Swift Virtual Network connection.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static SwiftVirtualNetwork GetSwiftVirtualNetworkConnection(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.GetSwiftVirtualNetworkConnectionAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets a Swift Virtual Network connection.
            /// </summary>
            /// <remarks>
            /// Description for Gets a Swift Virtual Network connection.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SwiftVirtualNetwork> GetSwiftVirtualNetworkConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetSwiftVirtualNetworkConnectionWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Integrates this Web App with a Virtual Network. This requires that 1)
            /// "swiftSupported" is true when doing a GET against this resource, and 2)
            /// that the target Subnet has already been delegated, and is not
            /// in use by another App Service Plan other than the one this App is in.
            /// </summary>
            /// <remarks>
            /// Description for Integrates this Web App with a Virtual Network. This
            /// requires that 1) "swiftSupported" is true when doing a GET against this
            /// resource, and 2) that the target Subnet has already been delegated, and is
            /// not
            /// in use by another App Service Plan other than the one this App is in.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='connectionEnvelope'>
            /// Properties of the Virtual Network connection. See example.
            /// </param>
            public static SwiftVirtualNetwork CreateOrUpdateSwiftVirtualNetworkConnectionWithCheck(this IWebAppsOperations operations, string resourceGroupName, string name, SwiftVirtualNetwork connectionEnvelope)
            {
                return operations.CreateOrUpdateSwiftVirtualNetworkConnectionWithCheckAsync(resourceGroupName, name, connectionEnvelope).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Integrates this Web App with a Virtual Network. This requires that 1)
            /// "swiftSupported" is true when doing a GET against this resource, and 2)
            /// that the target Subnet has already been delegated, and is not
            /// in use by another App Service Plan other than the one this App is in.
            /// </summary>
            /// <remarks>
            /// Description for Integrates this Web App with a Virtual Network. This
            /// requires that 1) "swiftSupported" is true when doing a GET against this
            /// resource, and 2) that the target Subnet has already been delegated, and is
            /// not
            /// in use by another App Service Plan other than the one this App is in.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='connectionEnvelope'>
            /// Properties of the Virtual Network connection. See example.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SwiftVirtualNetwork> CreateOrUpdateSwiftVirtualNetworkConnectionWithCheckAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SwiftVirtualNetwork connectionEnvelope, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.CreateOrUpdateSwiftVirtualNetworkConnectionWithCheckWithHttpMessagesAsync(resourceGroupName, name, connectionEnvelope, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Deletes a Swift Virtual Network connection from an app (or deployment
            /// slot).
            /// </summary>
            /// <remarks>
            /// Description for Deletes a Swift Virtual Network connection from an app (or
            /// deployment slot).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static void DeleteSwiftVirtualNetwork(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                operations.DeleteSwiftVirtualNetworkAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Deletes a Swift Virtual Network connection from an app (or deployment
            /// slot).
            /// </summary>
            /// <remarks>
            /// Description for Deletes a Swift Virtual Network connection from an app (or
            /// deployment slot).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteSwiftVirtualNetworkAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteSwiftVirtualNetworkWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Integrates this Web App with a Virtual Network. This requires that 1)
            /// "swiftSupported" is true when doing a GET against this resource, and 2)
            /// that the target Subnet has already been delegated, and is not
            /// in use by another App Service Plan other than the one this App is in.
            /// </summary>
            /// <remarks>
            /// Description for Integrates this Web App with a Virtual Network. This
            /// requires that 1) "swiftSupported" is true when doing a GET against this
            /// resource, and 2) that the target Subnet has already been delegated, and is
            /// not
            /// in use by another App Service Plan other than the one this App is in.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='connectionEnvelope'>
            /// Properties of the Virtual Network connection. See example.
            /// </param>
            public static SwiftVirtualNetwork UpdateSwiftVirtualNetworkConnectionWithCheck(this IWebAppsOperations operations, string resourceGroupName, string name, SwiftVirtualNetwork connectionEnvelope)
            {
                return operations.UpdateSwiftVirtualNetworkConnectionWithCheckAsync(resourceGroupName, name, connectionEnvelope).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Integrates this Web App with a Virtual Network. This requires that 1)
            /// "swiftSupported" is true when doing a GET against this resource, and 2)
            /// that the target Subnet has already been delegated, and is not
            /// in use by another App Service Plan other than the one this App is in.
            /// </summary>
            /// <remarks>
            /// Description for Integrates this Web App with a Virtual Network. This
            /// requires that 1) "swiftSupported" is true when doing a GET against this
            /// resource, and 2) that the target Subnet has already been delegated, and is
            /// not
            /// in use by another App Service Plan other than the one this App is in.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='connectionEnvelope'>
            /// Properties of the Virtual Network connection. See example.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SwiftVirtualNetwork> UpdateSwiftVirtualNetworkConnectionWithCheckAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SwiftVirtualNetwork connectionEnvelope, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateSwiftVirtualNetworkConnectionWithCheckWithHttpMessagesAsync(resourceGroupName, name, connectionEnvelope, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets all network features used by the app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets all network features used by the app (or deployment
            /// slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='view'>
            /// The type of view. Only "summary" is supported at this time.
            /// </param>
            public static NetworkFeatures ListNetworkFeatures(this IWebAppsOperations operations, string resourceGroupName, string name, string view)
            {
                return operations.ListNetworkFeaturesAsync(resourceGroupName, name, view).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets all network features used by the app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets all network features used by the app (or deployment
            /// slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='view'>
            /// The type of view. Only "summary" is supported at this time.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<NetworkFeatures> ListNetworkFeaturesAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string view, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListNetworkFeaturesWithHttpMessagesAsync(resourceGroupName, name, view, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets a named operation for a network trace capturing (or deployment slot,
            /// if specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets a named operation for a network trace capturing (or
            /// deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='operationId'>
            /// GUID of the operation.
            /// </param>
            public static IList<NetworkTrace> GetNetworkTraceOperation(this IWebAppsOperations operations, string resourceGroupName, string name, string operationId)
            {
                return operations.GetNetworkTraceOperationAsync(resourceGroupName, name, operationId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets a named operation for a network trace capturing (or deployment slot,
            /// if specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets a named operation for a network trace capturing (or
            /// deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='operationId'>
            /// GUID of the operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IList<NetworkTrace>> GetNetworkTraceOperationAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string operationId, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetNetworkTraceOperationWithHttpMessagesAsync(resourceGroupName, name, operationId, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Start capturing network packets for the site (To be deprecated).
            /// </summary>
            /// <remarks>
            /// Description for Start capturing network packets for the site (To be
            /// deprecated).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='durationInSeconds'>
            /// The duration to keep capturing in seconds.
            /// </param>
            /// <param name='maxFrameLength'>
            /// The maximum frame length in bytes (Optional).
            /// </param>
            /// <param name='sasUrl'>
            /// The Blob URL to store capture file.
            /// </param>
            public static string StartWebSiteNetworkTrace(this IWebAppsOperations operations, string resourceGroupName, string name, int? durationInSeconds = default(int?), int? maxFrameLength = default(int?), string sasUrl = default(string))
            {
                return operations.StartWebSiteNetworkTraceAsync(resourceGroupName, name, durationInSeconds, maxFrameLength, sasUrl).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Start capturing network packets for the site (To be deprecated).
            /// </summary>
            /// <remarks>
            /// Description for Start capturing network packets for the site (To be
            /// deprecated).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='durationInSeconds'>
            /// The duration to keep capturing in seconds.
            /// </param>
            /// <param name='maxFrameLength'>
            /// The maximum frame length in bytes (Optional).
            /// </param>
            /// <param name='sasUrl'>
            /// The Blob URL to store capture file.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<string> StartWebSiteNetworkTraceAsync(this IWebAppsOperations operations, string resourceGroupName, string name, int? durationInSeconds = default(int?), int? maxFrameLength = default(int?), string sasUrl = default(string), CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.StartWebSiteNetworkTraceWithHttpMessagesAsync(resourceGroupName, name, durationInSeconds, maxFrameLength, sasUrl, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Start capturing network packets for the site.
            /// </summary>
            /// <remarks>
            /// Description for Start capturing network packets for the site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='durationInSeconds'>
            /// The duration to keep capturing in seconds.
            /// </param>
            /// <param name='maxFrameLength'>
            /// The maximum frame length in bytes (Optional).
            /// </param>
            /// <param name='sasUrl'>
            /// The Blob URL to store capture file.
            /// </param>
            public static IList<NetworkTrace> StartWebSiteNetworkTraceOperation(this IWebAppsOperations operations, string resourceGroupName, string name, int? durationInSeconds = default(int?), int? maxFrameLength = default(int?), string sasUrl = default(string))
            {
                return operations.StartWebSiteNetworkTraceOperationAsync(resourceGroupName, name, durationInSeconds, maxFrameLength, sasUrl).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Start capturing network packets for the site.
            /// </summary>
            /// <remarks>
            /// Description for Start capturing network packets for the site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='durationInSeconds'>
            /// The duration to keep capturing in seconds.
            /// </param>
            /// <param name='maxFrameLength'>
            /// The maximum frame length in bytes (Optional).
            /// </param>
            /// <param name='sasUrl'>
            /// The Blob URL to store capture file.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IList<NetworkTrace>> StartWebSiteNetworkTraceOperationAsync(this IWebAppsOperations operations, string resourceGroupName, string name, int? durationInSeconds = default(int?), int? maxFrameLength = default(int?), string sasUrl = default(string), CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.StartWebSiteNetworkTraceOperationWithHttpMessagesAsync(resourceGroupName, name, durationInSeconds, maxFrameLength, sasUrl, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Stop ongoing capturing network packets for the site.
            /// </summary>
            /// <remarks>
            /// Description for Stop ongoing capturing network packets for the site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            public static void StopWebSiteNetworkTrace(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                operations.StopWebSiteNetworkTraceAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Stop ongoing capturing network packets for the site.
            /// </summary>
            /// <remarks>
            /// Description for Stop ongoing capturing network packets for the site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task StopWebSiteNetworkTraceAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.StopWebSiteNetworkTraceWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Gets a named operation for a network trace capturing (or deployment slot,
            /// if specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets a named operation for a network trace capturing (or
            /// deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='operationId'>
            /// GUID of the operation.
            /// </param>
            public static IList<NetworkTrace> GetNetworkTraces(this IWebAppsOperations operations, string resourceGroupName, string name, string operationId)
            {
                return operations.GetNetworkTracesAsync(resourceGroupName, name, operationId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets a named operation for a network trace capturing (or deployment slot,
            /// if specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets a named operation for a network trace capturing (or
            /// deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='operationId'>
            /// GUID of the operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IList<NetworkTrace>> GetNetworkTracesAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string operationId, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetNetworkTracesWithHttpMessagesAsync(resourceGroupName, name, operationId, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets a named operation for a network trace capturing (or deployment slot,
            /// if specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets a named operation for a network trace capturing (or
            /// deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='operationId'>
            /// GUID of the operation.
            /// </param>
            public static IList<NetworkTrace> GetNetworkTraceOperationV2(this IWebAppsOperations operations, string resourceGroupName, string name, string operationId)
            {
                return operations.GetNetworkTraceOperationV2Async(resourceGroupName, name, operationId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets a named operation for a network trace capturing (or deployment slot,
            /// if specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets a named operation for a network trace capturing (or
            /// deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='operationId'>
            /// GUID of the operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IList<NetworkTrace>> GetNetworkTraceOperationV2Async(this IWebAppsOperations operations, string resourceGroupName, string name, string operationId, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetNetworkTraceOperationV2WithHttpMessagesAsync(resourceGroupName, name, operationId, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets a named operation for a network trace capturing (or deployment slot,
            /// if specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets a named operation for a network trace capturing (or
            /// deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='operationId'>
            /// GUID of the operation.
            /// </param>
            public static IList<NetworkTrace> GetNetworkTracesV2(this IWebAppsOperations operations, string resourceGroupName, string name, string operationId)
            {
                return operations.GetNetworkTracesV2Async(resourceGroupName, name, operationId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets a named operation for a network trace capturing (or deployment slot,
            /// if specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets a named operation for a network trace capturing (or
            /// deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='operationId'>
            /// GUID of the operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IList<NetworkTrace>> GetNetworkTracesV2Async(this IWebAppsOperations operations, string resourceGroupName, string name, string operationId, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetNetworkTracesV2WithHttpMessagesAsync(resourceGroupName, name, operationId, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Generates a new publishing password for an app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Generates a new publishing password for an app (or
            /// deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static void GenerateNewSitePublishingPassword(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                operations.GenerateNewSitePublishingPasswordAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Generates a new publishing password for an app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Generates a new publishing password for an app (or
            /// deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task GenerateNewSitePublishingPasswordAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.GenerateNewSitePublishingPasswordWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Gets perfmon counters for web app.
            /// </summary>
            /// <remarks>
            /// Description for Gets perfmon counters for web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='filter'>
            /// Return only usages/metrics specified in the filter. Filter conforms to
            /// odata syntax. Example: $filter=(startTime eq 2014-01-01T00:00:00Z and
            /// endTime eq 2014-12-31T23:59:59Z and timeGrain eq
            /// duration'[Hour|Minute|Day]'.
            /// </param>
            public static IPage<PerfMonResponse> ListPerfMonCounters(this IWebAppsOperations operations, string resourceGroupName, string name, string filter = default(string))
            {
                return operations.ListPerfMonCountersAsync(resourceGroupName, name, filter).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets perfmon counters for web app.
            /// </summary>
            /// <remarks>
            /// Description for Gets perfmon counters for web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='filter'>
            /// Return only usages/metrics specified in the filter. Filter conforms to
            /// odata syntax. Example: $filter=(startTime eq 2014-01-01T00:00:00Z and
            /// endTime eq 2014-12-31T23:59:59Z and timeGrain eq
            /// duration'[Hour|Minute|Day]'.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<PerfMonResponse>> ListPerfMonCountersAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string filter = default(string), CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListPerfMonCountersWithHttpMessagesAsync(resourceGroupName, name, filter, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets web app's event logs.
            /// </summary>
            /// <remarks>
            /// Description for Gets web app's event logs.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            public static SitePhpErrorLogFlag GetSitePhpErrorLogFlag(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.GetSitePhpErrorLogFlagAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets web app's event logs.
            /// </summary>
            /// <remarks>
            /// Description for Gets web app's event logs.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SitePhpErrorLogFlag> GetSitePhpErrorLogFlagAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetSitePhpErrorLogFlagWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the premier add-ons of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the premier add-ons of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static PremierAddOn ListPremierAddOns(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.ListPremierAddOnsAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the premier add-ons of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the premier add-ons of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<PremierAddOn> ListPremierAddOnsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListPremierAddOnsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets a named add-on of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets a named add-on of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='premierAddOnName'>
            /// Add-on name.
            /// </param>
            public static PremierAddOn GetPremierAddOn(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName)
            {
                return operations.GetPremierAddOnAsync(resourceGroupName, name, premierAddOnName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets a named add-on of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets a named add-on of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='premierAddOnName'>
            /// Add-on name.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<PremierAddOn> GetPremierAddOnAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetPremierAddOnWithHttpMessagesAsync(resourceGroupName, name, premierAddOnName, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Updates a named add-on of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates a named add-on of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='premierAddOnName'>
            /// Add-on name.
            /// </param>
            /// <param name='premierAddOn'>
            /// A JSON representation of the edited premier add-on.
            /// </param>
            public static PremierAddOn AddPremierAddOn(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName, PremierAddOn premierAddOn)
            {
                return operations.AddPremierAddOnAsync(resourceGroupName, name, premierAddOnName, premierAddOn).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Updates a named add-on of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates a named add-on of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='premierAddOnName'>
            /// Add-on name.
            /// </param>
            /// <param name='premierAddOn'>
            /// A JSON representation of the edited premier add-on.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<PremierAddOn> AddPremierAddOnAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName, PremierAddOn premierAddOn, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.AddPremierAddOnWithHttpMessagesAsync(resourceGroupName, name, premierAddOnName, premierAddOn, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Delete a premier add-on from an app.
            /// </summary>
            /// <remarks>
            /// Description for Delete a premier add-on from an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='premierAddOnName'>
            /// Add-on name.
            /// </param>
            public static void DeletePremierAddOn(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName)
            {
                operations.DeletePremierAddOnAsync(resourceGroupName, name, premierAddOnName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Delete a premier add-on from an app.
            /// </summary>
            /// <remarks>
            /// Description for Delete a premier add-on from an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='premierAddOnName'>
            /// Add-on name.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeletePremierAddOnAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeletePremierAddOnWithHttpMessagesAsync(resourceGroupName, name, premierAddOnName, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Updates a named add-on of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates a named add-on of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='premierAddOnName'>
            /// Add-on name.
            /// </param>
            /// <param name='premierAddOn'>
            /// A JSON representation of the edited premier add-on.
            /// </param>
            public static PremierAddOn UpdatePremierAddOn(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName, PremierAddOnPatchResource premierAddOn)
            {
                return operations.UpdatePremierAddOnAsync(resourceGroupName, name, premierAddOnName, premierAddOn).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Updates a named add-on of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates a named add-on of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='premierAddOnName'>
            /// Add-on name.
            /// </param>
            /// <param name='premierAddOn'>
            /// A JSON representation of the edited premier add-on.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<PremierAddOn> UpdatePremierAddOnAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName, PremierAddOnPatchResource premierAddOn, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdatePremierAddOnWithHttpMessagesAsync(resourceGroupName, name, premierAddOnName, premierAddOn, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets data around private site access enablement and authorized Virtual
            /// Networks that can access the site.
            /// </summary>
            /// <remarks>
            /// Description for Gets data around private site access enablement and
            /// authorized Virtual Networks that can access the site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            public static PrivateAccess GetPrivateAccess(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.GetPrivateAccessAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets data around private site access enablement and authorized Virtual
            /// Networks that can access the site.
            /// </summary>
            /// <remarks>
            /// Description for Gets data around private site access enablement and
            /// authorized Virtual Networks that can access the site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<PrivateAccess> GetPrivateAccessAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetPrivateAccessWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Sets data around private site access enablement and authorized Virtual
            /// Networks that can access the site.
            /// </summary>
            /// <remarks>
            /// Description for Sets data around private site access enablement and
            /// authorized Virtual Networks that can access the site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='access'>
            /// The information for the private access
            /// </param>
            public static PrivateAccess PutPrivateAccessVnet(this IWebAppsOperations operations, string resourceGroupName, string name, PrivateAccess access)
            {
                return operations.PutPrivateAccessVnetAsync(resourceGroupName, name, access).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Sets data around private site access enablement and authorized Virtual
            /// Networks that can access the site.
            /// </summary>
            /// <remarks>
            /// Description for Sets data around private site access enablement and
            /// authorized Virtual Networks that can access the site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='access'>
            /// The information for the private access
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<PrivateAccess> PutPrivateAccessVnetAsync(this IWebAppsOperations operations, string resourceGroupName, string name, PrivateAccess access, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.PutPrivateAccessVnetWithHttpMessagesAsync(resourceGroupName, name, access, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the list of private endpoint connections associated with a site
            /// </summary>
            /// <remarks>
            /// Description for Gets the list of private endpoint connections associated
            /// with a site
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the site.
            /// </param>
            public static IPage<RemotePrivateEndpointConnectionARMResource> GetPrivateEndpointConnectionList(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.GetPrivateEndpointConnectionListAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the list of private endpoint connections associated with a site
            /// </summary>
            /// <remarks>
            /// Description for Gets the list of private endpoint connections associated
            /// with a site
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the site.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<RemotePrivateEndpointConnectionARMResource>> GetPrivateEndpointConnectionListAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetPrivateEndpointConnectionListWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets a private endpoint connection
            /// </summary>
            /// <remarks>
            /// Description for Gets a private endpoint connection
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the site.
            /// </param>
            /// <param name='privateEndpointConnectionName'>
            /// Name of the private endpoint connection.
            /// </param>
            public static RemotePrivateEndpointConnectionARMResource GetPrivateEndpointConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string privateEndpointConnectionName)
            {
                return operations.GetPrivateEndpointConnectionAsync(resourceGroupName, name, privateEndpointConnectionName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets a private endpoint connection
            /// </summary>
            /// <remarks>
            /// Description for Gets a private endpoint connection
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the site.
            /// </param>
            /// <param name='privateEndpointConnectionName'>
            /// Name of the private endpoint connection.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<RemotePrivateEndpointConnectionARMResource> GetPrivateEndpointConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string privateEndpointConnectionName, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetPrivateEndpointConnectionWithHttpMessagesAsync(resourceGroupName, name, privateEndpointConnectionName, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Approves or rejects a private endpoint connection
            /// </summary>
            /// <remarks>
            /// Description for Approves or rejects a private endpoint connection
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the site.
            /// </param>
            /// <param name='privateEndpointConnectionName'>
            /// </param>
            /// <param name='privateEndpointWrapper'>
            /// </param>
            public static RemotePrivateEndpointConnectionARMResource ApproveOrRejectPrivateEndpointConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string privateEndpointConnectionName, PrivateLinkConnectionApprovalRequestResource privateEndpointWrapper)
            {
                return operations.ApproveOrRejectPrivateEndpointConnectionAsync(resourceGroupName, name, privateEndpointConnectionName, privateEndpointWrapper).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Approves or rejects a private endpoint connection
            /// </summary>
            /// <remarks>
            /// Description for Approves or rejects a private endpoint connection
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the site.
            /// </param>
            /// <param name='privateEndpointConnectionName'>
            /// </param>
            /// <param name='privateEndpointWrapper'>
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<RemotePrivateEndpointConnectionARMResource> ApproveOrRejectPrivateEndpointConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string privateEndpointConnectionName, PrivateLinkConnectionApprovalRequestResource privateEndpointWrapper, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ApproveOrRejectPrivateEndpointConnectionWithHttpMessagesAsync(resourceGroupName, name, privateEndpointConnectionName, privateEndpointWrapper, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Deletes a private endpoint connection
            /// </summary>
            /// <remarks>
            /// Description for Deletes a private endpoint connection
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the site.
            /// </param>
            /// <param name='privateEndpointConnectionName'>
            /// </param>
            public static object DeletePrivateEndpointConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string privateEndpointConnectionName)
            {
                return operations.DeletePrivateEndpointConnectionAsync(resourceGroupName, name, privateEndpointConnectionName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Deletes a private endpoint connection
            /// </summary>
            /// <remarks>
            /// Description for Deletes a private endpoint connection
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the site.
            /// </param>
            /// <param name='privateEndpointConnectionName'>
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<object> DeletePrivateEndpointConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string privateEndpointConnectionName, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.DeletePrivateEndpointConnectionWithHttpMessagesAsync(resourceGroupName, name, privateEndpointConnectionName, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the private link resources
            /// </summary>
            /// <remarks>
            /// Description for Gets the private link resources
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the site.
            /// </param>
            public static PrivateLinkResourcesWrapper GetPrivateLinkResources(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.GetPrivateLinkResourcesAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the private link resources
            /// </summary>
            /// <remarks>
            /// Description for Gets the private link resources
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the site.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<PrivateLinkResourcesWrapper> GetPrivateLinkResourcesAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetPrivateLinkResourcesWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get list of processes for a web site, or a deployment slot, or for a
            /// specific scaled-out instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for Get list of processes for a web site, or a deployment slot,
            /// or for a specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            public static IPage<ProcessInfo> ListProcesses(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.ListProcessesAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get list of processes for a web site, or a deployment slot, or for a
            /// specific scaled-out instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for Get list of processes for a web site, or a deployment slot,
            /// or for a specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ProcessInfo>> ListProcessesAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListProcessesWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get process information by its ID for a specific scaled-out instance in a
            /// web site.
            /// </summary>
            /// <remarks>
            /// Description for Get process information by its ID for a specific scaled-out
            /// instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            public static ProcessInfo GetProcess(this IWebAppsOperations operations, string resourceGroupName, string name, string processId)
            {
                return operations.GetProcessAsync(resourceGroupName, name, processId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get process information by its ID for a specific scaled-out instance in a
            /// web site.
            /// </summary>
            /// <remarks>
            /// Description for Get process information by its ID for a specific scaled-out
            /// instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<ProcessInfo> GetProcessAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetProcessWithHttpMessagesAsync(resourceGroupName, name, processId, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Terminate a process by its ID for a web site, or a deployment slot, or
            /// specific scaled-out instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for Terminate a process by its ID for a web site, or a
            /// deployment slot, or specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            public static void DeleteProcess(this IWebAppsOperations operations, string resourceGroupName, string name, string processId)
            {
                operations.DeleteProcessAsync(resourceGroupName, name, processId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Terminate a process by its ID for a web site, or a deployment slot, or
            /// specific scaled-out instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for Terminate a process by its ID for a web site, or a
            /// deployment slot, or specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteProcessAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteProcessWithHttpMessagesAsync(resourceGroupName, name, processId, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Get a memory dump of a process by its ID for a specific scaled-out instance
            /// in a web site.
            /// </summary>
            /// <remarks>
            /// Description for Get a memory dump of a process by its ID for a specific
            /// scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            public static Stream GetProcessDump(this IWebAppsOperations operations, string resourceGroupName, string name, string processId)
            {
                return operations.GetProcessDumpAsync(resourceGroupName, name, processId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get a memory dump of a process by its ID for a specific scaled-out instance
            /// in a web site.
            /// </summary>
            /// <remarks>
            /// Description for Get a memory dump of a process by its ID for a specific
            /// scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<Stream> GetProcessDumpAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, CancellationToken cancellationToken = default(CancellationToken))
            {
                var _result = await operations.GetProcessDumpWithHttpMessagesAsync(resourceGroupName, name, processId, null, cancellationToken).ConfigureAwait(false);
                _result.Request.Dispose();
                return _result.Body;
            }
 
            /// <summary>
            /// List module information for a process by its ID for a specific scaled-out
            /// instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for List module information for a process by its ID for a
            /// specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            public static IPage<ProcessModuleInfo> ListProcessModules(this IWebAppsOperations operations, string resourceGroupName, string name, string processId)
            {
                return operations.ListProcessModulesAsync(resourceGroupName, name, processId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List module information for a process by its ID for a specific scaled-out
            /// instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for List module information for a process by its ID for a
            /// specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ProcessModuleInfo>> ListProcessModulesAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListProcessModulesWithHttpMessagesAsync(resourceGroupName, name, processId, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get process information by its ID for a specific scaled-out instance in a
            /// web site.
            /// </summary>
            /// <remarks>
            /// Description for Get process information by its ID for a specific scaled-out
            /// instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='baseAddress'>
            /// Module base address.
            /// </param>
            public static ProcessModuleInfo GetProcessModule(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string baseAddress)
            {
                return operations.GetProcessModuleAsync(resourceGroupName, name, processId, baseAddress).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get process information by its ID for a specific scaled-out instance in a
            /// web site.
            /// </summary>
            /// <remarks>
            /// Description for Get process information by its ID for a specific scaled-out
            /// instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='baseAddress'>
            /// Module base address.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<ProcessModuleInfo> GetProcessModuleAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string baseAddress, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetProcessModuleWithHttpMessagesAsync(resourceGroupName, name, processId, baseAddress, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// List the threads in a process by its ID for a specific scaled-out instance
            /// in a web site.
            /// </summary>
            /// <remarks>
            /// Description for List the threads in a process by its ID for a specific
            /// scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            public static IPage<ProcessThreadInfo> ListProcessThreads(this IWebAppsOperations operations, string resourceGroupName, string name, string processId)
            {
                return operations.ListProcessThreadsAsync(resourceGroupName, name, processId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List the threads in a process by its ID for a specific scaled-out instance
            /// in a web site.
            /// </summary>
            /// <remarks>
            /// Description for List the threads in a process by its ID for a specific
            /// scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ProcessThreadInfo>> ListProcessThreadsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListProcessThreadsWithHttpMessagesAsync(resourceGroupName, name, processId, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get public certificates for an app or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get public certificates for an app or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static IPage<PublicCertificate> ListPublicCertificates(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.ListPublicCertificatesAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get public certificates for an app or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get public certificates for an app or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<PublicCertificate>> ListPublicCertificatesAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListPublicCertificatesWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get the named public certificate for an app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Get the named public certificate for an app (or deployment
            /// slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='publicCertificateName'>
            /// Public certificate name.
            /// </param>
            public static PublicCertificate GetPublicCertificate(this IWebAppsOperations operations, string resourceGroupName, string name, string publicCertificateName)
            {
                return operations.GetPublicCertificateAsync(resourceGroupName, name, publicCertificateName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get the named public certificate for an app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Get the named public certificate for an app (or deployment
            /// slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='publicCertificateName'>
            /// Public certificate name.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<PublicCertificate> GetPublicCertificateAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string publicCertificateName, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetPublicCertificateWithHttpMessagesAsync(resourceGroupName, name, publicCertificateName, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Creates a hostname binding for an app.
            /// </summary>
            /// <remarks>
            /// Description for Creates a hostname binding for an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='publicCertificateName'>
            /// Public certificate name.
            /// </param>
            /// <param name='publicCertificate'>
            /// Public certificate details. This is the JSON representation of a
            /// PublicCertificate object.
            /// </param>
            public static PublicCertificate CreateOrUpdatePublicCertificate(this IWebAppsOperations operations, string resourceGroupName, string name, string publicCertificateName, PublicCertificate publicCertificate)
            {
                return operations.CreateOrUpdatePublicCertificateAsync(resourceGroupName, name, publicCertificateName, publicCertificate).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Creates a hostname binding for an app.
            /// </summary>
            /// <remarks>
            /// Description for Creates a hostname binding for an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='publicCertificateName'>
            /// Public certificate name.
            /// </param>
            /// <param name='publicCertificate'>
            /// Public certificate details. This is the JSON representation of a
            /// PublicCertificate object.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<PublicCertificate> CreateOrUpdatePublicCertificateAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string publicCertificateName, PublicCertificate publicCertificate, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.CreateOrUpdatePublicCertificateWithHttpMessagesAsync(resourceGroupName, name, publicCertificateName, publicCertificate, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Deletes a hostname binding for an app.
            /// </summary>
            /// <remarks>
            /// Description for Deletes a hostname binding for an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='publicCertificateName'>
            /// Public certificate name.
            /// </param>
            public static void DeletePublicCertificate(this IWebAppsOperations operations, string resourceGroupName, string name, string publicCertificateName)
            {
                operations.DeletePublicCertificateAsync(resourceGroupName, name, publicCertificateName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Deletes a hostname binding for an app.
            /// </summary>
            /// <remarks>
            /// Description for Deletes a hostname binding for an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='publicCertificateName'>
            /// Public certificate name.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeletePublicCertificateAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string publicCertificateName, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeletePublicCertificateWithHttpMessagesAsync(resourceGroupName, name, publicCertificateName, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Gets the publishing profile for an app (or deployment slot, if specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets the publishing profile for an app (or deployment slot,
            /// if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='publishingProfileOptions'>
            /// Specifies publishingProfileOptions for publishing profile. For example, use
            /// {"format": "FileZilla3"} to get a FileZilla publishing profile.
            /// </param>
            public static Stream ListPublishingProfileXmlWithSecrets(this IWebAppsOperations operations, string resourceGroupName, string name, CsmPublishingProfileOptions publishingProfileOptions)
            {
                return operations.ListPublishingProfileXmlWithSecretsAsync(resourceGroupName, name, publishingProfileOptions).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the publishing profile for an app (or deployment slot, if specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets the publishing profile for an app (or deployment slot,
            /// if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='publishingProfileOptions'>
            /// Specifies publishingProfileOptions for publishing profile. For example, use
            /// {"format": "FileZilla3"} to get a FileZilla publishing profile.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<Stream> ListPublishingProfileXmlWithSecretsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmPublishingProfileOptions publishingProfileOptions, CancellationToken cancellationToken = default(CancellationToken))
            {
                var _result = await operations.ListPublishingProfileXmlWithSecretsWithHttpMessagesAsync(resourceGroupName, name, publishingProfileOptions, null, cancellationToken).ConfigureAwait(false);
                _result.Request.Dispose();
                return _result.Body;
            }
 
            /// <summary>
            /// Resets the configuration settings of the current slot if they were
            /// previously modified by calling the API with POST.
            /// </summary>
            /// <remarks>
            /// Description for Resets the configuration settings of the current slot if
            /// they were previously modified by calling the API with POST.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static void ResetProductionSlotConfig(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                operations.ResetProductionSlotConfigAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Resets the configuration settings of the current slot if they were
            /// previously modified by calling the API with POST.
            /// </summary>
            /// <remarks>
            /// Description for Resets the configuration settings of the current slot if
            /// they were previously modified by calling the API with POST.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task ResetProductionSlotConfigAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.ResetProductionSlotConfigWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Restarts an app (or deployment slot, if specified).
            /// </summary>
            /// <remarks>
            /// Description for Restarts an app (or deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='softRestart'>
            /// Specify true to apply the configuration settings and restarts the app only
            /// if necessary. By default, the API always restarts and reprovisions the app.
            /// </param>
            /// <param name='synchronous'>
            /// Specify true to block until the app is restarted. By default, it is set to
            /// false, and the API responds immediately (asynchronous).
            /// </param>
            public static void Restart(this IWebAppsOperations operations, string resourceGroupName, string name, bool? softRestart = default(bool?), bool? synchronous = default(bool?))
            {
                operations.RestartAsync(resourceGroupName, name, softRestart, synchronous).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Restarts an app (or deployment slot, if specified).
            /// </summary>
            /// <remarks>
            /// Description for Restarts an app (or deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='softRestart'>
            /// Specify true to apply the configuration settings and restarts the app only
            /// if necessary. By default, the API always restarts and reprovisions the app.
            /// </param>
            /// <param name='synchronous'>
            /// Specify true to block until the app is restarted. By default, it is set to
            /// false, and the API responds immediately (asynchronous).
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task RestartAsync(this IWebAppsOperations operations, string resourceGroupName, string name, bool? softRestart = default(bool?), bool? synchronous = default(bool?), CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.RestartWithHttpMessagesAsync(resourceGroupName, name, softRestart, synchronous, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Restores an app from a backup blob in Azure Storage.
            /// </summary>
            /// <remarks>
            /// Description for Restores an app from a backup blob in Azure Storage.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='request'>
            /// Information on restore request .
            /// </param>
            public static void RestoreFromBackupBlob(this IWebAppsOperations operations, string resourceGroupName, string name, RestoreRequest request)
            {
                operations.RestoreFromBackupBlobAsync(resourceGroupName, name, request).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Restores an app from a backup blob in Azure Storage.
            /// </summary>
            /// <remarks>
            /// Description for Restores an app from a backup blob in Azure Storage.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='request'>
            /// Information on restore request .
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task RestoreFromBackupBlobAsync(this IWebAppsOperations operations, string resourceGroupName, string name, RestoreRequest request, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.RestoreFromBackupBlobWithHttpMessagesAsync(resourceGroupName, name, request, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Restores a deleted web app to this web app.
            /// </summary>
            /// <remarks>
            /// Description for Restores a deleted web app to this web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='restoreRequest'>
            /// Deleted web app restore information.
            /// </param>
            public static void RestoreFromDeletedApp(this IWebAppsOperations operations, string resourceGroupName, string name, DeletedAppRestoreRequest restoreRequest)
            {
                operations.RestoreFromDeletedAppAsync(resourceGroupName, name, restoreRequest).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Restores a deleted web app to this web app.
            /// </summary>
            /// <remarks>
            /// Description for Restores a deleted web app to this web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='restoreRequest'>
            /// Deleted web app restore information.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task RestoreFromDeletedAppAsync(this IWebAppsOperations operations, string resourceGroupName, string name, DeletedAppRestoreRequest restoreRequest, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.RestoreFromDeletedAppWithHttpMessagesAsync(resourceGroupName, name, restoreRequest, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Restores a web app from a snapshot.
            /// </summary>
            /// <remarks>
            /// Description for Restores a web app from a snapshot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='restoreRequest'>
            /// Snapshot restore settings. Snapshot information can be obtained by calling
            /// GetDeletedSites or GetSiteSnapshots API.
            /// </param>
            public static void RestoreSnapshot(this IWebAppsOperations operations, string resourceGroupName, string name, SnapshotRestoreRequest restoreRequest)
            {
                operations.RestoreSnapshotAsync(resourceGroupName, name, restoreRequest).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Restores a web app from a snapshot.
            /// </summary>
            /// <remarks>
            /// Description for Restores a web app from a snapshot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='restoreRequest'>
            /// Snapshot restore settings. Snapshot information can be obtained by calling
            /// GetDeletedSites or GetSiteSnapshots API.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task RestoreSnapshotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SnapshotRestoreRequest restoreRequest, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.RestoreSnapshotWithHttpMessagesAsync(resourceGroupName, name, restoreRequest, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Get list of siteextensions for a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get list of siteextensions for a web site, or a deployment
            /// slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            public static IPage<SiteExtensionInfo> ListSiteExtensions(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.ListSiteExtensionsAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get list of siteextensions for a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get list of siteextensions for a web site, or a deployment
            /// slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<SiteExtensionInfo>> ListSiteExtensionsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListSiteExtensionsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get site extension information by its ID for a web site, or a deployment
            /// slot.
            /// </summary>
            /// <remarks>
            /// Description for Get site extension information by its ID for a web site, or
            /// a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='siteExtensionId'>
            /// Site extension name.
            /// </param>
            public static SiteExtensionInfo GetSiteExtension(this IWebAppsOperations operations, string resourceGroupName, string name, string siteExtensionId)
            {
                return operations.GetSiteExtensionAsync(resourceGroupName, name, siteExtensionId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get site extension information by its ID for a web site, or a deployment
            /// slot.
            /// </summary>
            /// <remarks>
            /// Description for Get site extension information by its ID for a web site, or
            /// a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='siteExtensionId'>
            /// Site extension name.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteExtensionInfo> GetSiteExtensionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string siteExtensionId, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetSiteExtensionWithHttpMessagesAsync(resourceGroupName, name, siteExtensionId, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Install site extension on a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Install site extension on a web site, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='siteExtensionId'>
            /// Site extension name.
            /// </param>
            public static SiteExtensionInfo InstallSiteExtension(this IWebAppsOperations operations, string resourceGroupName, string name, string siteExtensionId)
            {
                return operations.InstallSiteExtensionAsync(resourceGroupName, name, siteExtensionId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Install site extension on a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Install site extension on a web site, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='siteExtensionId'>
            /// Site extension name.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteExtensionInfo> InstallSiteExtensionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string siteExtensionId, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.InstallSiteExtensionWithHttpMessagesAsync(resourceGroupName, name, siteExtensionId, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Remove a site extension from a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Remove a site extension from a web site, or a deployment
            /// slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='siteExtensionId'>
            /// Site extension name.
            /// </param>
            public static void DeleteSiteExtension(this IWebAppsOperations operations, string resourceGroupName, string name, string siteExtensionId)
            {
                operations.DeleteSiteExtensionAsync(resourceGroupName, name, siteExtensionId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Remove a site extension from a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Remove a site extension from a web site, or a deployment
            /// slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='siteExtensionId'>
            /// Site extension name.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteSiteExtensionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string siteExtensionId, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteSiteExtensionWithHttpMessagesAsync(resourceGroupName, name, siteExtensionId, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Gets an app's deployment slots.
            /// </summary>
            /// <remarks>
            /// Description for Gets an app's deployment slots.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static IPage<Site> ListSlots(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.ListSlotsAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets an app's deployment slots.
            /// </summary>
            /// <remarks>
            /// Description for Gets an app's deployment slots.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<Site>> ListSlotsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListSlotsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the details of a web, mobile, or API app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the details of a web, mobile, or API app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. By default, this API returns the production
            /// slot.
            /// </param>
            public static Site GetSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.GetSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the details of a web, mobile, or API app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the details of a web, mobile, or API app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. By default, this API returns the production
            /// slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<Site> GetSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Creates a new web, mobile, or API app in an existing resource group, or
            /// updates an existing app.
            /// </summary>
            /// <remarks>
            /// Description for Creates a new web, mobile, or API app in an existing
            /// resource group, or updates an existing app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Unique name of the app to create or update. To create or update a
            /// deployment slot, use the {slot} parameter.
            /// </param>
            /// <param name='siteEnvelope'>
            /// A JSON representation of the app properties. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot to create or update. By default, this API
            /// attempts to create or modify the production slot.
            /// </param>
            public static Site CreateOrUpdateSlot(this IWebAppsOperations operations, string resourceGroupName, string name, Site siteEnvelope, string slot)
            {
                return operations.CreateOrUpdateSlotAsync(resourceGroupName, name, siteEnvelope, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Creates a new web, mobile, or API app in an existing resource group, or
            /// updates an existing app.
            /// </summary>
            /// <remarks>
            /// Description for Creates a new web, mobile, or API app in an existing
            /// resource group, or updates an existing app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Unique name of the app to create or update. To create or update a
            /// deployment slot, use the {slot} parameter.
            /// </param>
            /// <param name='siteEnvelope'>
            /// A JSON representation of the app properties. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot to create or update. By default, this API
            /// attempts to create or modify the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<Site> CreateOrUpdateSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, Site siteEnvelope, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.CreateOrUpdateSlotWithHttpMessagesAsync(resourceGroupName, name, siteEnvelope, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Deletes a web, mobile, or API app, or one of the deployment slots.
            /// </summary>
            /// <remarks>
            /// Description for Deletes a web, mobile, or API app, or one of the deployment
            /// slots.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app to delete.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot to delete. By default, the API deletes the
            /// production slot.
            /// </param>
            /// <param name='deleteMetrics'>
            /// If true, web app metrics are also deleted.
            /// </param>
            /// <param name='deleteEmptyServerFarm'>
            /// Specify false if you want to keep empty App Service plan. By default, empty
            /// App Service plan is deleted.
            /// </param>
            public static void DeleteSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, bool? deleteMetrics = default(bool?), bool? deleteEmptyServerFarm = default(bool?))
            {
                operations.DeleteSlotAsync(resourceGroupName, name, slot, deleteMetrics, deleteEmptyServerFarm).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Deletes a web, mobile, or API app, or one of the deployment slots.
            /// </summary>
            /// <remarks>
            /// Description for Deletes a web, mobile, or API app, or one of the deployment
            /// slots.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app to delete.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot to delete. By default, the API deletes the
            /// production slot.
            /// </param>
            /// <param name='deleteMetrics'>
            /// If true, web app metrics are also deleted.
            /// </param>
            /// <param name='deleteEmptyServerFarm'>
            /// Specify false if you want to keep empty App Service plan. By default, empty
            /// App Service plan is deleted.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, bool? deleteMetrics = default(bool?), bool? deleteEmptyServerFarm = default(bool?), CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteSlotWithHttpMessagesAsync(resourceGroupName, name, slot, deleteMetrics, deleteEmptyServerFarm, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Creates a new web, mobile, or API app in an existing resource group, or
            /// updates an existing app.
            /// </summary>
            /// <remarks>
            /// Description for Creates a new web, mobile, or API app in an existing
            /// resource group, or updates an existing app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Unique name of the app to create or update. To create or update a
            /// deployment slot, use the {slot} parameter.
            /// </param>
            /// <param name='siteEnvelope'>
            /// A JSON representation of the app properties. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot to create or update. By default, this API
            /// attempts to create or modify the production slot.
            /// </param>
            public static Site UpdateSlot(this IWebAppsOperations operations, string resourceGroupName, string name, SitePatchResource siteEnvelope, string slot)
            {
                return operations.UpdateSlotAsync(resourceGroupName, name, siteEnvelope, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Creates a new web, mobile, or API app in an existing resource group, or
            /// updates an existing app.
            /// </summary>
            /// <remarks>
            /// Description for Creates a new web, mobile, or API app in an existing
            /// resource group, or updates an existing app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Unique name of the app to create or update. To create or update a
            /// deployment slot, use the {slot} parameter.
            /// </param>
            /// <param name='siteEnvelope'>
            /// A JSON representation of the app properties. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot to create or update. By default, this API
            /// attempts to create or modify the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<Site> UpdateSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SitePatchResource siteEnvelope, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateSlotWithHttpMessagesAsync(resourceGroupName, name, siteEnvelope, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Analyze a custom hostname.
            /// </summary>
            /// <remarks>
            /// Description for Analyze a custom hostname.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            /// <param name='hostName'>
            /// Custom hostname.
            /// </param>
            public static CustomHostnameAnalysisResult AnalyzeCustomHostnameSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string hostName = default(string))
            {
                return operations.AnalyzeCustomHostnameSlotAsync(resourceGroupName, name, slot, hostName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Analyze a custom hostname.
            /// </summary>
            /// <remarks>
            /// Description for Analyze a custom hostname.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            /// <param name='hostName'>
            /// Custom hostname.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<CustomHostnameAnalysisResult> AnalyzeCustomHostnameSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string hostName = default(string), CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.AnalyzeCustomHostnameSlotWithHttpMessagesAsync(resourceGroupName, name, slot, hostName, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Applies the configuration settings from the target slot onto the current
            /// slot.
            /// </summary>
            /// <remarks>
            /// Description for Applies the configuration settings from the target slot
            /// onto the current slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slotSwapEntity'>
            /// JSON object that contains the target slot name. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the source slot. If a slot is not specified, the production slot is
            /// used as the source slot.
            /// </param>
            public static void ApplySlotConfigurationSlot(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot)
            {
                operations.ApplySlotConfigurationSlotAsync(resourceGroupName, name, slotSwapEntity, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Applies the configuration settings from the target slot onto the current
            /// slot.
            /// </summary>
            /// <remarks>
            /// Description for Applies the configuration settings from the target slot
            /// onto the current slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slotSwapEntity'>
            /// JSON object that contains the target slot name. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the source slot. If a slot is not specified, the production slot is
            /// used as the source slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task ApplySlotConfigurationSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.ApplySlotConfigurationSlotWithHttpMessagesAsync(resourceGroupName, name, slotSwapEntity, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Creates a backup of an app.
            /// </summary>
            /// <remarks>
            /// Description for Creates a backup of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='request'>
            /// Backup configuration. You can use the JSON response from the POST action as
            /// input here.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// create a backup for the production slot.
            /// </param>
            public static BackupItem BackupSlot(this IWebAppsOperations operations, string resourceGroupName, string name, BackupRequest request, string slot)
            {
                return operations.BackupSlotAsync(resourceGroupName, name, request, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Creates a backup of an app.
            /// </summary>
            /// <remarks>
            /// Description for Creates a backup of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='request'>
            /// Backup configuration. You can use the JSON response from the POST action as
            /// input here.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// create a backup for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<BackupItem> BackupSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, BackupRequest request, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.BackupSlotWithHttpMessagesAsync(resourceGroupName, name, request, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets existing backups of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets existing backups of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// backups of the production slot.
            /// </param>
            public static IPage<BackupItem> ListBackupsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.ListBackupsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets existing backups of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets existing backups of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// backups of the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<BackupItem>> ListBackupsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListBackupsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets a backup of an app by its ID.
            /// </summary>
            /// <remarks>
            /// Description for Gets a backup of an app by its ID.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='backupId'>
            /// ID of the backup.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get a
            /// backup of the production slot.
            /// </param>
            public static BackupItem GetBackupStatusSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, string slot)
            {
                return operations.GetBackupStatusSlotAsync(resourceGroupName, name, backupId, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets a backup of an app by its ID.
            /// </summary>
            /// <remarks>
            /// Description for Gets a backup of an app by its ID.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='backupId'>
            /// ID of the backup.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get a
            /// backup of the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<BackupItem> GetBackupStatusSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetBackupStatusSlotWithHttpMessagesAsync(resourceGroupName, name, backupId, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Deletes a backup of an app by its ID.
            /// </summary>
            /// <remarks>
            /// Description for Deletes a backup of an app by its ID.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='backupId'>
            /// ID of the backup.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// delete a backup of the production slot.
            /// </param>
            public static void DeleteBackupSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, string slot)
            {
                operations.DeleteBackupSlotAsync(resourceGroupName, name, backupId, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Deletes a backup of an app by its ID.
            /// </summary>
            /// <remarks>
            /// Description for Deletes a backup of an app by its ID.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='backupId'>
            /// ID of the backup.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// delete a backup of the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteBackupSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteBackupSlotWithHttpMessagesAsync(resourceGroupName, name, backupId, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Gets status of a web app backup that may be in progress, including secrets
            /// associated with the backup, such as the Azure Storage SAS URL. Also can be
            /// used to update the SAS URL for the backup if a new URL is passed in the
            /// request body.
            /// </summary>
            /// <remarks>
            /// Description for Gets status of a web app backup that may be in progress,
            /// including secrets associated with the backup, such as the Azure Storage SAS
            /// URL. Also can be used to update the SAS URL for the backup if a new URL is
            /// passed in the request body.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='backupId'>
            /// ID of backup.
            /// </param>
            /// <param name='request'>
            /// Information on backup request.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            public static BackupItem ListBackupStatusSecretsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, BackupRequest request, string slot)
            {
                return operations.ListBackupStatusSecretsSlotAsync(resourceGroupName, name, backupId, request, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets status of a web app backup that may be in progress, including secrets
            /// associated with the backup, such as the Azure Storage SAS URL. Also can be
            /// used to update the SAS URL for the backup if a new URL is passed in the
            /// request body.
            /// </summary>
            /// <remarks>
            /// Description for Gets status of a web app backup that may be in progress,
            /// including secrets associated with the backup, such as the Azure Storage SAS
            /// URL. Also can be used to update the SAS URL for the backup if a new URL is
            /// passed in the request body.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='backupId'>
            /// ID of backup.
            /// </param>
            /// <param name='request'>
            /// Information on backup request.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<BackupItem> ListBackupStatusSecretsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, BackupRequest request, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListBackupStatusSecretsSlotWithHttpMessagesAsync(resourceGroupName, name, backupId, request, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Restores a specific backup to another app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Restores a specific backup to another app (or deployment
            /// slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='backupId'>
            /// ID of the backup.
            /// </param>
            /// <param name='request'>
            /// Information on restore request .
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// restore a backup of the production slot.
            /// </param>
            public static void RestoreSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, RestoreRequest request, string slot)
            {
                operations.RestoreSlotAsync(resourceGroupName, name, backupId, request, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Restores a specific backup to another app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Restores a specific backup to another app (or deployment
            /// slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='backupId'>
            /// ID of the backup.
            /// </param>
            /// <param name='request'>
            /// Information on restore request .
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// restore a backup of the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task RestoreSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, RestoreRequest request, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.RestoreSlotWithHttpMessagesAsync(resourceGroupName, name, backupId, request, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Returns whether Scm basic auth is allowed and whether Ftp is allowed for a
            /// given site.
            /// </summary>
            /// <remarks>
            /// Description for Returns whether Scm basic auth is allowed and whether Ftp
            /// is allowed for a given site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// </param>
            public static IPage<CsmPublishingCredentialsPoliciesEntity> ListBasicPublishingCredentialsPoliciesSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.ListBasicPublishingCredentialsPoliciesSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Returns whether Scm basic auth is allowed and whether Ftp is allowed for a
            /// given site.
            /// </summary>
            /// <remarks>
            /// Description for Returns whether Scm basic auth is allowed and whether Ftp
            /// is allowed for a given site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<CsmPublishingCredentialsPoliciesEntity>> ListBasicPublishingCredentialsPoliciesSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListBasicPublishingCredentialsPoliciesSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Returns whether FTP is allowed on the site or not.
            /// </summary>
            /// <remarks>
            /// Description for Returns whether FTP is allowed on the site or not.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// </param>
            public static CsmPublishingCredentialsPoliciesEntity GetFtpAllowedSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.GetFtpAllowedSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Returns whether FTP is allowed on the site or not.
            /// </summary>
            /// <remarks>
            /// Description for Returns whether FTP is allowed on the site or not.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<CsmPublishingCredentialsPoliciesEntity> GetFtpAllowedSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetFtpAllowedSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Updates whether FTP is allowed on the site or not.
            /// </summary>
            /// <remarks>
            /// Description for Updates whether FTP is allowed on the site or not.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='csmPublishingAccessPoliciesEntity'>
            /// </param>
            /// <param name='slot'>
            /// </param>
            public static CsmPublishingCredentialsPoliciesEntity UpdateFtpAllowedSlot(this IWebAppsOperations operations, string resourceGroupName, string name, CsmPublishingCredentialsPoliciesEntity csmPublishingAccessPoliciesEntity, string slot)
            {
                return operations.UpdateFtpAllowedSlotAsync(resourceGroupName, name, csmPublishingAccessPoliciesEntity, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Updates whether FTP is allowed on the site or not.
            /// </summary>
            /// <remarks>
            /// Description for Updates whether FTP is allowed on the site or not.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='csmPublishingAccessPoliciesEntity'>
            /// </param>
            /// <param name='slot'>
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<CsmPublishingCredentialsPoliciesEntity> UpdateFtpAllowedSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmPublishingCredentialsPoliciesEntity csmPublishingAccessPoliciesEntity, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateFtpAllowedSlotWithHttpMessagesAsync(resourceGroupName, name, csmPublishingAccessPoliciesEntity, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Returns whether Scm basic auth is allowed on the site or not.
            /// </summary>
            /// <remarks>
            /// Description for Returns whether Scm basic auth is allowed on the site or
            /// not.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// </param>
            public static CsmPublishingCredentialsPoliciesEntity GetScmAllowedSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.GetScmAllowedSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Returns whether Scm basic auth is allowed on the site or not.
            /// </summary>
            /// <remarks>
            /// Description for Returns whether Scm basic auth is allowed on the site or
            /// not.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<CsmPublishingCredentialsPoliciesEntity> GetScmAllowedSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetScmAllowedSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Updates whether user publishing credentials are allowed on the site or not.
            /// </summary>
            /// <remarks>
            /// Description for Updates whether user publishing credentials are allowed on
            /// the site or not.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='csmPublishingAccessPoliciesEntity'>
            /// </param>
            /// <param name='slot'>
            /// </param>
            public static CsmPublishingCredentialsPoliciesEntity UpdateScmAllowedSlot(this IWebAppsOperations operations, string resourceGroupName, string name, CsmPublishingCredentialsPoliciesEntity csmPublishingAccessPoliciesEntity, string slot)
            {
                return operations.UpdateScmAllowedSlotAsync(resourceGroupName, name, csmPublishingAccessPoliciesEntity, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Updates whether user publishing credentials are allowed on the site or not.
            /// </summary>
            /// <remarks>
            /// Description for Updates whether user publishing credentials are allowed on
            /// the site or not.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='csmPublishingAccessPoliciesEntity'>
            /// </param>
            /// <param name='slot'>
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<CsmPublishingCredentialsPoliciesEntity> UpdateScmAllowedSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmPublishingCredentialsPoliciesEntity csmPublishingAccessPoliciesEntity, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateScmAllowedSlotWithHttpMessagesAsync(resourceGroupName, name, csmPublishingAccessPoliciesEntity, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// List the configurations of an app
            /// </summary>
            /// <remarks>
            /// Description for List the configurations of an app
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// return configuration for the production slot.
            /// </param>
            public static IPage<SiteConfigResource> ListConfigurationsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.ListConfigurationsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List the configurations of an app
            /// </summary>
            /// <remarks>
            /// Description for List the configurations of an app
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// return configuration for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<SiteConfigResource>> ListConfigurationsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListConfigurationsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Replaces the application settings of an app.
            /// </summary>
            /// <remarks>
            /// Description for Replaces the application settings of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='appSettings'>
            /// Application settings of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// update the application settings for the production slot.
            /// </param>
            public static StringDictionary UpdateApplicationSettingsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, StringDictionary appSettings, string slot)
            {
                return operations.UpdateApplicationSettingsSlotAsync(resourceGroupName, name, appSettings, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Replaces the application settings of an app.
            /// </summary>
            /// <remarks>
            /// Description for Replaces the application settings of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='appSettings'>
            /// Application settings of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// update the application settings for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<StringDictionary> UpdateApplicationSettingsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, StringDictionary appSettings, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateApplicationSettingsSlotWithHttpMessagesAsync(resourceGroupName, name, appSettings, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the application settings of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the application settings of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// the application settings for the production slot.
            /// </param>
            public static StringDictionary ListApplicationSettingsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.ListApplicationSettingsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the application settings of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the application settings of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// the application settings for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<StringDictionary> ListApplicationSettingsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListApplicationSettingsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Updates the Authentication / Authorization settings associated with web
            /// app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the Authentication / Authorization settings
            /// associated with web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='siteAuthSettings'>
            /// Auth settings associated with web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            public static SiteAuthSettings UpdateAuthSettingsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, SiteAuthSettings siteAuthSettings, string slot)
            {
                return operations.UpdateAuthSettingsSlotAsync(resourceGroupName, name, siteAuthSettings, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Updates the Authentication / Authorization settings associated with web
            /// app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the Authentication / Authorization settings
            /// associated with web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='siteAuthSettings'>
            /// Auth settings associated with web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteAuthSettings> UpdateAuthSettingsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SiteAuthSettings siteAuthSettings, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateAuthSettingsSlotWithHttpMessagesAsync(resourceGroupName, name, siteAuthSettings, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the Authentication/Authorization settings of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the Authentication/Authorization settings of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// the settings for the production slot.
            /// </param>
            public static SiteAuthSettings GetAuthSettingsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.GetAuthSettingsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the Authentication/Authorization settings of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the Authentication/Authorization settings of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// the settings for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteAuthSettings> GetAuthSettingsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetAuthSettingsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Updates site's Authentication / Authorization settings for apps via the V2
            /// format
            /// </summary>
            /// <remarks>
            /// Description for Updates site's Authentication / Authorization settings for
            /// apps via the V2 format
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='siteAuthSettingsV2'>
            /// Auth settings associated with web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            public static SiteAuthSettingsV2 UpdateAuthSettingsV2Slot(this IWebAppsOperations operations, string resourceGroupName, string name, SiteAuthSettingsV2 siteAuthSettingsV2, string slot)
            {
                return operations.UpdateAuthSettingsV2SlotAsync(resourceGroupName, name, siteAuthSettingsV2, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Updates site's Authentication / Authorization settings for apps via the V2
            /// format
            /// </summary>
            /// <remarks>
            /// Description for Updates site's Authentication / Authorization settings for
            /// apps via the V2 format
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='siteAuthSettingsV2'>
            /// Auth settings associated with web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteAuthSettingsV2> UpdateAuthSettingsV2SlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SiteAuthSettingsV2 siteAuthSettingsV2, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateAuthSettingsV2SlotWithHttpMessagesAsync(resourceGroupName, name, siteAuthSettingsV2, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets site's Authentication / Authorization settings for apps via the V2
            /// format
            /// </summary>
            /// <remarks>
            /// Description for Gets site's Authentication / Authorization settings for
            /// apps via the V2 format
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// the settings for the production slot.
            /// </param>
            public static SiteAuthSettingsV2 GetAuthSettingsV2Slot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.GetAuthSettingsV2SlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets site's Authentication / Authorization settings for apps via the V2
            /// format
            /// </summary>
            /// <remarks>
            /// Description for Gets site's Authentication / Authorization settings for
            /// apps via the V2 format
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// the settings for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteAuthSettingsV2> GetAuthSettingsV2SlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetAuthSettingsV2SlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Updates the Azure storage account configurations of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the Azure storage account configurations of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='azureStorageAccounts'>
            /// Azure storage accounts of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// update the Azure storage account configurations for the production slot.
            /// </param>
            public static AzureStoragePropertyDictionaryResource UpdateAzureStorageAccountsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, AzureStoragePropertyDictionaryResource azureStorageAccounts, string slot)
            {
                return operations.UpdateAzureStorageAccountsSlotAsync(resourceGroupName, name, azureStorageAccounts, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Updates the Azure storage account configurations of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the Azure storage account configurations of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='azureStorageAccounts'>
            /// Azure storage accounts of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// update the Azure storage account configurations for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<AzureStoragePropertyDictionaryResource> UpdateAzureStorageAccountsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, AzureStoragePropertyDictionaryResource azureStorageAccounts, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateAzureStorageAccountsSlotWithHttpMessagesAsync(resourceGroupName, name, azureStorageAccounts, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the Azure storage account configurations of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the Azure storage account configurations of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// update the Azure storage account configurations for the production slot.
            /// </param>
            public static AzureStoragePropertyDictionaryResource ListAzureStorageAccountsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.ListAzureStorageAccountsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the Azure storage account configurations of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the Azure storage account configurations of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// update the Azure storage account configurations for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<AzureStoragePropertyDictionaryResource> ListAzureStorageAccountsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListAzureStorageAccountsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Updates the backup configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the backup configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='request'>
            /// Edited backup configuration.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// update the backup configuration for the production slot.
            /// </param>
            public static BackupRequest UpdateBackupConfigurationSlot(this IWebAppsOperations operations, string resourceGroupName, string name, BackupRequest request, string slot)
            {
                return operations.UpdateBackupConfigurationSlotAsync(resourceGroupName, name, request, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Updates the backup configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the backup configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='request'>
            /// Edited backup configuration.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// update the backup configuration for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<BackupRequest> UpdateBackupConfigurationSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, BackupRequest request, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateBackupConfigurationSlotWithHttpMessagesAsync(resourceGroupName, name, request, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Deletes the backup configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Deletes the backup configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// delete the backup configuration for the production slot.
            /// </param>
            public static void DeleteBackupConfigurationSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                operations.DeleteBackupConfigurationSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Deletes the backup configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Deletes the backup configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// delete the backup configuration for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteBackupConfigurationSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteBackupConfigurationSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Gets the backup configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the backup configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// the backup configuration for the production slot.
            /// </param>
            public static BackupRequest GetBackupConfigurationSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.GetBackupConfigurationSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the backup configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the backup configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// the backup configuration for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<BackupRequest> GetBackupConfigurationSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetBackupConfigurationSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the config reference app settings and status of an app
            /// </summary>
            /// <remarks>
            /// Description for Gets the config reference app settings and status of an app
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// </param>
            public static IPage<ApiKVReference> GetAppSettingsKeyVaultReferencesSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.GetAppSettingsKeyVaultReferencesSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the config reference app settings and status of an app
            /// </summary>
            /// <remarks>
            /// Description for Gets the config reference app settings and status of an app
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ApiKVReference>> GetAppSettingsKeyVaultReferencesSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetAppSettingsKeyVaultReferencesSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the config reference and status of an app
            /// </summary>
            /// <remarks>
            /// Description for Gets the config reference and status of an app
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='appSettingKey'>
            /// App Setting key name.
            /// </param>
            /// <param name='slot'>
            /// </param>
            public static ApiKVReference GetAppSettingKeyVaultReferenceSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string appSettingKey, string slot)
            {
                return operations.GetAppSettingKeyVaultReferenceSlotAsync(resourceGroupName, name, appSettingKey, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the config reference and status of an app
            /// </summary>
            /// <remarks>
            /// Description for Gets the config reference and status of an app
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='appSettingKey'>
            /// App Setting key name.
            /// </param>
            /// <param name='slot'>
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<ApiKVReference> GetAppSettingKeyVaultReferenceSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string appSettingKey, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetAppSettingKeyVaultReferenceSlotWithHttpMessagesAsync(resourceGroupName, name, appSettingKey, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the config reference app settings and status of an app
            /// </summary>
            /// <remarks>
            /// Description for Gets the config reference app settings and status of an app
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// </param>
            public static IPage<ApiKVReference> GetSiteConnectionStringKeyVaultReferencesSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.GetSiteConnectionStringKeyVaultReferencesSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the config reference app settings and status of an app
            /// </summary>
            /// <remarks>
            /// Description for Gets the config reference app settings and status of an app
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ApiKVReference>> GetSiteConnectionStringKeyVaultReferencesSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetSiteConnectionStringKeyVaultReferencesSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the config reference and status of an app
            /// </summary>
            /// <remarks>
            /// Description for Gets the config reference and status of an app
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='connectionStringKey'>
            /// </param>
            /// <param name='slot'>
            /// </param>
            public static ApiKVReference GetSiteConnectionStringKeyVaultReferenceSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string connectionStringKey, string slot)
            {
                return operations.GetSiteConnectionStringKeyVaultReferenceSlotAsync(resourceGroupName, name, connectionStringKey, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the config reference and status of an app
            /// </summary>
            /// <remarks>
            /// Description for Gets the config reference and status of an app
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='connectionStringKey'>
            /// </param>
            /// <param name='slot'>
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<ApiKVReference> GetSiteConnectionStringKeyVaultReferenceSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string connectionStringKey, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetSiteConnectionStringKeyVaultReferenceSlotWithHttpMessagesAsync(resourceGroupName, name, connectionStringKey, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Replaces the connection strings of an app.
            /// </summary>
            /// <remarks>
            /// Description for Replaces the connection strings of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='connectionStrings'>
            /// Connection strings of the app or deployment slot. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// update the connection settings for the production slot.
            /// </param>
            public static ConnectionStringDictionary UpdateConnectionStringsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, ConnectionStringDictionary connectionStrings, string slot)
            {
                return operations.UpdateConnectionStringsSlotAsync(resourceGroupName, name, connectionStrings, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Replaces the connection strings of an app.
            /// </summary>
            /// <remarks>
            /// Description for Replaces the connection strings of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='connectionStrings'>
            /// Connection strings of the app or deployment slot. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// update the connection settings for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<ConnectionStringDictionary> UpdateConnectionStringsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, ConnectionStringDictionary connectionStrings, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateConnectionStringsSlotWithHttpMessagesAsync(resourceGroupName, name, connectionStrings, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the connection strings of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the connection strings of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// the connection settings for the production slot.
            /// </param>
            public static ConnectionStringDictionary ListConnectionStringsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.ListConnectionStringsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the connection strings of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the connection strings of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// the connection settings for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<ConnectionStringDictionary> ListConnectionStringsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListConnectionStringsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the logging configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the logging configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// the logging configuration for the production slot.
            /// </param>
            public static SiteLogsConfig GetDiagnosticLogsConfigurationSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.GetDiagnosticLogsConfigurationSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the logging configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the logging configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// the logging configuration for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteLogsConfig> GetDiagnosticLogsConfigurationSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetDiagnosticLogsConfigurationSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Updates the logging configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the logging configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='siteLogsConfig'>
            /// A SiteLogsConfig JSON object that contains the logging configuration to
            /// change in the "properties" property.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// update the logging configuration for the production slot.
            /// </param>
            public static SiteLogsConfig UpdateDiagnosticLogsConfigSlot(this IWebAppsOperations operations, string resourceGroupName, string name, SiteLogsConfig siteLogsConfig, string slot)
            {
                return operations.UpdateDiagnosticLogsConfigSlotAsync(resourceGroupName, name, siteLogsConfig, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Updates the logging configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the logging configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='siteLogsConfig'>
            /// A SiteLogsConfig JSON object that contains the logging configuration to
            /// change in the "properties" property.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// update the logging configuration for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteLogsConfig> UpdateDiagnosticLogsConfigSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SiteLogsConfig siteLogsConfig, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateDiagnosticLogsConfigSlotWithHttpMessagesAsync(resourceGroupName, name, siteLogsConfig, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Replaces the metadata of an app.
            /// </summary>
            /// <remarks>
            /// Description for Replaces the metadata of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='metadata'>
            /// Edited metadata of the app or deployment slot. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// update the metadata for the production slot.
            /// </param>
            public static StringDictionary UpdateMetadataSlot(this IWebAppsOperations operations, string resourceGroupName, string name, StringDictionary metadata, string slot)
            {
                return operations.UpdateMetadataSlotAsync(resourceGroupName, name, metadata, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Replaces the metadata of an app.
            /// </summary>
            /// <remarks>
            /// Description for Replaces the metadata of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='metadata'>
            /// Edited metadata of the app or deployment slot. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// update the metadata for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<StringDictionary> UpdateMetadataSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, StringDictionary metadata, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateMetadataSlotWithHttpMessagesAsync(resourceGroupName, name, metadata, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the metadata of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the metadata of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// the metadata for the production slot.
            /// </param>
            public static StringDictionary ListMetadataSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.ListMetadataSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the metadata of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the metadata of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// the metadata for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<StringDictionary> ListMetadataSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListMetadataSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the Git/FTP publishing credentials of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the Git/FTP publishing credentials of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// the publishing credentials for the production slot.
            /// </param>
            public static User ListPublishingCredentialsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.ListPublishingCredentialsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the Git/FTP publishing credentials of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the Git/FTP publishing credentials of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// the publishing credentials for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<User> ListPublishingCredentialsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListPublishingCredentialsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Updates the Push settings associated with web app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the Push settings associated with web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='pushSettings'>
            /// Push settings associated with web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            public static PushSettings UpdateSitePushSettingsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, PushSettings pushSettings, string slot)
            {
                return operations.UpdateSitePushSettingsSlotAsync(resourceGroupName, name, pushSettings, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Updates the Push settings associated with web app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the Push settings associated with web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='pushSettings'>
            /// Push settings associated with web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<PushSettings> UpdateSitePushSettingsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, PushSettings pushSettings, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateSitePushSettingsSlotWithHttpMessagesAsync(resourceGroupName, name, pushSettings, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the Push settings associated with web app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the Push settings associated with web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            public static PushSettings ListSitePushSettingsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.ListSitePushSettingsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the Push settings associated with web app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the Push settings associated with web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<PushSettings> ListSitePushSettingsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListSitePushSettingsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the configuration of an app, such as platform version and bitness,
            /// default documents, virtual applications, Always On, etc.
            /// </summary>
            /// <remarks>
            /// Description for Gets the configuration of an app, such as platform version
            /// and bitness, default documents, virtual applications, Always On, etc.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// return configuration for the production slot.
            /// </param>
            public static SiteConfigResource GetConfigurationSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.GetConfigurationSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the configuration of an app, such as platform version and bitness,
            /// default documents, virtual applications, Always On, etc.
            /// </summary>
            /// <remarks>
            /// Description for Gets the configuration of an app, such as platform version
            /// and bitness, default documents, virtual applications, Always On, etc.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// return configuration for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteConfigResource> GetConfigurationSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetConfigurationSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Updates the configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='siteConfig'>
            /// JSON representation of a SiteConfig object. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// update configuration for the production slot.
            /// </param>
            public static SiteConfigResource CreateOrUpdateConfigurationSlot(this IWebAppsOperations operations, string resourceGroupName, string name, SiteConfigResource siteConfig, string slot)
            {
                return operations.CreateOrUpdateConfigurationSlotAsync(resourceGroupName, name, siteConfig, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Updates the configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='siteConfig'>
            /// JSON representation of a SiteConfig object. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// update configuration for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteConfigResource> CreateOrUpdateConfigurationSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SiteConfigResource siteConfig, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.CreateOrUpdateConfigurationSlotWithHttpMessagesAsync(resourceGroupName, name, siteConfig, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Updates the configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='siteConfig'>
            /// JSON representation of a SiteConfig object. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// update configuration for the production slot.
            /// </param>
            public static SiteConfigResource UpdateConfigurationSlot(this IWebAppsOperations operations, string resourceGroupName, string name, SiteConfigResource siteConfig, string slot)
            {
                return operations.UpdateConfigurationSlotAsync(resourceGroupName, name, siteConfig, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Updates the configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='siteConfig'>
            /// JSON representation of a SiteConfig object. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// update configuration for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteConfigResource> UpdateConfigurationSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SiteConfigResource siteConfig, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateConfigurationSlotWithHttpMessagesAsync(resourceGroupName, name, siteConfig, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets a list of web app configuration snapshots identifiers. Each element of
            /// the list contains a timestamp and the ID of the snapshot.
            /// </summary>
            /// <remarks>
            /// Description for Gets a list of web app configuration snapshots identifiers.
            /// Each element of the list contains a timestamp and the ID of the snapshot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// return configuration for the production slot.
            /// </param>
            public static IPage<SiteConfigurationSnapshotInfo> ListConfigurationSnapshotInfoSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.ListConfigurationSnapshotInfoSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets a list of web app configuration snapshots identifiers. Each element of
            /// the list contains a timestamp and the ID of the snapshot.
            /// </summary>
            /// <remarks>
            /// Description for Gets a list of web app configuration snapshots identifiers.
            /// Each element of the list contains a timestamp and the ID of the snapshot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// return configuration for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<SiteConfigurationSnapshotInfo>> ListConfigurationSnapshotInfoSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListConfigurationSnapshotInfoSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets a snapshot of the configuration of an app at a previous point in time.
            /// </summary>
            /// <remarks>
            /// Description for Gets a snapshot of the configuration of an app at a
            /// previous point in time.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='snapshotId'>
            /// The ID of the snapshot to read.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// return configuration for the production slot.
            /// </param>
            public static SiteConfigResource GetConfigurationSnapshotSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string snapshotId, string slot)
            {
                return operations.GetConfigurationSnapshotSlotAsync(resourceGroupName, name, snapshotId, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets a snapshot of the configuration of an app at a previous point in time.
            /// </summary>
            /// <remarks>
            /// Description for Gets a snapshot of the configuration of an app at a
            /// previous point in time.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='snapshotId'>
            /// The ID of the snapshot to read.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// return configuration for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteConfigResource> GetConfigurationSnapshotSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string snapshotId, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetConfigurationSnapshotSlotWithHttpMessagesAsync(resourceGroupName, name, snapshotId, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Reverts the configuration of an app to a previous snapshot.
            /// </summary>
            /// <remarks>
            /// Description for Reverts the configuration of an app to a previous snapshot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='snapshotId'>
            /// The ID of the snapshot to read.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// return configuration for the production slot.
            /// </param>
            public static void RecoverSiteConfigurationSnapshotSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string snapshotId, string slot)
            {
                operations.RecoverSiteConfigurationSnapshotSlotAsync(resourceGroupName, name, snapshotId, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Reverts the configuration of an app to a previous snapshot.
            /// </summary>
            /// <remarks>
            /// Description for Reverts the configuration of an app to a previous snapshot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='snapshotId'>
            /// The ID of the snapshot to read.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// return configuration for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task RecoverSiteConfigurationSnapshotSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string snapshotId, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.RecoverSiteConfigurationSnapshotSlotWithHttpMessagesAsync(resourceGroupName, name, snapshotId, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Gets the last lines of docker logs for the given site
            /// </summary>
            /// <remarks>
            /// Description for Gets the last lines of docker logs for the given site
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            public static Stream GetWebSiteContainerLogsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.GetWebSiteContainerLogsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the last lines of docker logs for the given site
            /// </summary>
            /// <remarks>
            /// Description for Gets the last lines of docker logs for the given site
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<Stream> GetWebSiteContainerLogsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                var _result = await operations.GetWebSiteContainerLogsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false);
                _result.Request.Dispose();
                return _result.Body;
            }
 
            /// <summary>
            /// Gets the ZIP archived docker log files for the given site
            /// </summary>
            /// <remarks>
            /// Description for Gets the ZIP archived docker log files for the given site
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            public static Stream GetContainerLogsZipSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.GetContainerLogsZipSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the ZIP archived docker log files for the given site
            /// </summary>
            /// <remarks>
            /// Description for Gets the ZIP archived docker log files for the given site
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<Stream> GetContainerLogsZipSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                var _result = await operations.GetContainerLogsZipSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false);
                _result.Request.Dispose();
                return _result.Body;
            }
 
            /// <summary>
            /// List continuous web jobs for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List continuous web jobs for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API deletes a
            /// deployment for the production slot.
            /// </param>
            public static IPage<ContinuousWebJob> ListContinuousWebJobsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.ListContinuousWebJobsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List continuous web jobs for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List continuous web jobs for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API deletes a
            /// deployment for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ContinuousWebJob>> ListContinuousWebJobsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListContinuousWebJobsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets a continuous web job by its ID for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Gets a continuous web job by its ID for an app, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API deletes a
            /// deployment for the production slot.
            /// </param>
            public static ContinuousWebJob GetContinuousWebJobSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName, string slot)
            {
                return operations.GetContinuousWebJobSlotAsync(resourceGroupName, name, webJobName, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets a continuous web job by its ID for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Gets a continuous web job by its ID for an app, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API deletes a
            /// deployment for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<ContinuousWebJob> GetContinuousWebJobSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetContinuousWebJobSlotWithHttpMessagesAsync(resourceGroupName, name, webJobName, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Delete a continuous web job by its ID for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Delete a continuous web job by its ID for an app, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API deletes a
            /// deployment for the production slot.
            /// </param>
            public static void DeleteContinuousWebJobSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName, string slot)
            {
                operations.DeleteContinuousWebJobSlotAsync(resourceGroupName, name, webJobName, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Delete a continuous web job by its ID for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Delete a continuous web job by its ID for an app, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API deletes a
            /// deployment for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteContinuousWebJobSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteContinuousWebJobSlotWithHttpMessagesAsync(resourceGroupName, name, webJobName, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Start a continuous web job for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Start a continuous web job for an app, or a deployment
            /// slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API deletes a
            /// deployment for the production slot.
            /// </param>
            public static void StartContinuousWebJobSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName, string slot)
            {
                operations.StartContinuousWebJobSlotAsync(resourceGroupName, name, webJobName, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Start a continuous web job for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Start a continuous web job for an app, or a deployment
            /// slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API deletes a
            /// deployment for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task StartContinuousWebJobSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.StartContinuousWebJobSlotWithHttpMessagesAsync(resourceGroupName, name, webJobName, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Stop a continuous web job for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Stop a continuous web job for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API deletes a
            /// deployment for the production slot.
            /// </param>
            public static void StopContinuousWebJobSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName, string slot)
            {
                operations.StopContinuousWebJobSlotAsync(resourceGroupName, name, webJobName, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Stop a continuous web job for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Stop a continuous web job for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API deletes a
            /// deployment for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task StopContinuousWebJobSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.StopContinuousWebJobSlotWithHttpMessagesAsync(resourceGroupName, name, webJobName, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// List deployments for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List deployments for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            public static IPage<Deployment> ListDeploymentsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.ListDeploymentsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List deployments for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List deployments for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<Deployment>> ListDeploymentsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListDeploymentsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get a deployment by its ID for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get a deployment by its ID for an app, or a deployment
            /// slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='id'>
            /// Deployment ID.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API gets a
            /// deployment for the production slot.
            /// </param>
            public static Deployment GetDeploymentSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string slot)
            {
                return operations.GetDeploymentSlotAsync(resourceGroupName, name, id, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get a deployment by its ID for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get a deployment by its ID for an app, or a deployment
            /// slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='id'>
            /// Deployment ID.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API gets a
            /// deployment for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<Deployment> GetDeploymentSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetDeploymentSlotWithHttpMessagesAsync(resourceGroupName, name, id, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Create a deployment for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Create a deployment for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='id'>
            /// ID of an existing deployment.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API creates a
            /// deployment for the production slot.
            /// </param>
            /// <param name='deployment'>
            /// Deployment details.
            /// </param>
            public static Deployment CreateDeploymentSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string slot, Deployment deployment)
            {
                return operations.CreateDeploymentSlotAsync(resourceGroupName, name, id, slot, deployment).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Create a deployment for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Create a deployment for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='id'>
            /// ID of an existing deployment.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API creates a
            /// deployment for the production slot.
            /// </param>
            /// <param name='deployment'>
            /// Deployment details.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<Deployment> CreateDeploymentSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string slot, Deployment deployment, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.CreateDeploymentSlotWithHttpMessagesAsync(resourceGroupName, name, id, slot, deployment, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Delete a deployment by its ID for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Delete a deployment by its ID for an app, or a deployment
            /// slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='id'>
            /// Deployment ID.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API deletes a
            /// deployment for the production slot.
            /// </param>
            public static void DeleteDeploymentSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string slot)
            {
                operations.DeleteDeploymentSlotAsync(resourceGroupName, name, id, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Delete a deployment by its ID for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Delete a deployment by its ID for an app, or a deployment
            /// slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='id'>
            /// Deployment ID.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API deletes a
            /// deployment for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteDeploymentSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteDeploymentSlotWithHttpMessagesAsync(resourceGroupName, name, id, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// List deployment log for specific deployment for an app, or a deployment
            /// slot.
            /// </summary>
            /// <remarks>
            /// Description for List deployment log for specific deployment for an app, or
            /// a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='id'>
            /// The ID of a specific deployment. This is the value of the name property in
            /// the JSON response from "GET /api/sites/{siteName}/deployments".
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            public static Deployment ListDeploymentLogSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string slot)
            {
                return operations.ListDeploymentLogSlotAsync(resourceGroupName, name, id, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List deployment log for specific deployment for an app, or a deployment
            /// slot.
            /// </summary>
            /// <remarks>
            /// Description for List deployment log for specific deployment for an app, or
            /// a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='id'>
            /// The ID of a specific deployment. This is the value of the name property in
            /// the JSON response from "GET /api/sites/{siteName}/deployments".
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<Deployment> ListDeploymentLogSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string id, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListDeploymentLogSlotWithHttpMessagesAsync(resourceGroupName, name, id, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Discovers an existing app backup that can be restored from a blob in Azure
            /// storage. Use this to get information about the databases stored in a
            /// backup.
            /// </summary>
            /// <remarks>
            /// Description for Discovers an existing app backup that can be restored from
            /// a blob in Azure storage. Use this to get information about the databases
            /// stored in a backup.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='request'>
            /// A RestoreRequest object that includes Azure storage URL and blog name for
            /// discovery of backup.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// perform discovery for the production slot.
            /// </param>
            public static RestoreRequest DiscoverBackupSlot(this IWebAppsOperations operations, string resourceGroupName, string name, RestoreRequest request, string slot)
            {
                return operations.DiscoverBackupSlotAsync(resourceGroupName, name, request, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Discovers an existing app backup that can be restored from a blob in Azure
            /// storage. Use this to get information about the databases stored in a
            /// backup.
            /// </summary>
            /// <remarks>
            /// Description for Discovers an existing app backup that can be restored from
            /// a blob in Azure storage. Use this to get information about the databases
            /// stored in a backup.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='request'>
            /// A RestoreRequest object that includes Azure storage URL and blog name for
            /// discovery of backup.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// perform discovery for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<RestoreRequest> DiscoverBackupSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, RestoreRequest request, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.DiscoverBackupSlotWithHttpMessagesAsync(resourceGroupName, name, request, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Lists ownership identifiers for domain associated with web app.
            /// </summary>
            /// <remarks>
            /// Description for Lists ownership identifiers for domain associated with web
            /// app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// delete the binding for the production slot.
            /// </param>
            public static IPage<Identifier> ListDomainOwnershipIdentifiersSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.ListDomainOwnershipIdentifiersSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Lists ownership identifiers for domain associated with web app.
            /// </summary>
            /// <remarks>
            /// Description for Lists ownership identifiers for domain associated with web
            /// app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// delete the binding for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<Identifier>> ListDomainOwnershipIdentifiersSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListDomainOwnershipIdentifiersSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get domain ownership identifier for web app.
            /// </summary>
            /// <remarks>
            /// Description for Get domain ownership identifier for web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='domainOwnershipIdentifierName'>
            /// Name of domain ownership identifier.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// delete the binding for the production slot.
            /// </param>
            public static Identifier GetDomainOwnershipIdentifierSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string domainOwnershipIdentifierName, string slot)
            {
                return operations.GetDomainOwnershipIdentifierSlotAsync(resourceGroupName, name, domainOwnershipIdentifierName, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get domain ownership identifier for web app.
            /// </summary>
            /// <remarks>
            /// Description for Get domain ownership identifier for web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='domainOwnershipIdentifierName'>
            /// Name of domain ownership identifier.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// delete the binding for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<Identifier> GetDomainOwnershipIdentifierSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string domainOwnershipIdentifierName, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetDomainOwnershipIdentifierSlotWithHttpMessagesAsync(resourceGroupName, name, domainOwnershipIdentifierName, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Creates a domain ownership identifier for web app, or updates an existing
            /// ownership identifier.
            /// </summary>
            /// <remarks>
            /// Description for Creates a domain ownership identifier for web app, or
            /// updates an existing ownership identifier.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='domainOwnershipIdentifierName'>
            /// Name of domain ownership identifier.
            /// </param>
            /// <param name='domainOwnershipIdentifier'>
            /// A JSON representation of the domain ownership properties.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// delete the binding for the production slot.
            /// </param>
            public static Identifier CreateOrUpdateDomainOwnershipIdentifierSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string domainOwnershipIdentifierName, Identifier domainOwnershipIdentifier, string slot)
            {
                return operations.CreateOrUpdateDomainOwnershipIdentifierSlotAsync(resourceGroupName, name, domainOwnershipIdentifierName, domainOwnershipIdentifier, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Creates a domain ownership identifier for web app, or updates an existing
            /// ownership identifier.
            /// </summary>
            /// <remarks>
            /// Description for Creates a domain ownership identifier for web app, or
            /// updates an existing ownership identifier.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='domainOwnershipIdentifierName'>
            /// Name of domain ownership identifier.
            /// </param>
            /// <param name='domainOwnershipIdentifier'>
            /// A JSON representation of the domain ownership properties.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// delete the binding for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<Identifier> CreateOrUpdateDomainOwnershipIdentifierSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string domainOwnershipIdentifierName, Identifier domainOwnershipIdentifier, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.CreateOrUpdateDomainOwnershipIdentifierSlotWithHttpMessagesAsync(resourceGroupName, name, domainOwnershipIdentifierName, domainOwnershipIdentifier, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Deletes a domain ownership identifier for a web app.
            /// </summary>
            /// <remarks>
            /// Description for Deletes a domain ownership identifier for a web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='domainOwnershipIdentifierName'>
            /// Name of domain ownership identifier.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// delete the binding for the production slot.
            /// </param>
            public static void DeleteDomainOwnershipIdentifierSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string domainOwnershipIdentifierName, string slot)
            {
                operations.DeleteDomainOwnershipIdentifierSlotAsync(resourceGroupName, name, domainOwnershipIdentifierName, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Deletes a domain ownership identifier for a web app.
            /// </summary>
            /// <remarks>
            /// Description for Deletes a domain ownership identifier for a web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='domainOwnershipIdentifierName'>
            /// Name of domain ownership identifier.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// delete the binding for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteDomainOwnershipIdentifierSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string domainOwnershipIdentifierName, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteDomainOwnershipIdentifierSlotWithHttpMessagesAsync(resourceGroupName, name, domainOwnershipIdentifierName, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Creates a domain ownership identifier for web app, or updates an existing
            /// ownership identifier.
            /// </summary>
            /// <remarks>
            /// Description for Creates a domain ownership identifier for web app, or
            /// updates an existing ownership identifier.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='domainOwnershipIdentifierName'>
            /// Name of domain ownership identifier.
            /// </param>
            /// <param name='domainOwnershipIdentifier'>
            /// A JSON representation of the domain ownership properties.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// delete the binding for the production slot.
            /// </param>
            public static Identifier UpdateDomainOwnershipIdentifierSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string domainOwnershipIdentifierName, Identifier domainOwnershipIdentifier, string slot)
            {
                return operations.UpdateDomainOwnershipIdentifierSlotAsync(resourceGroupName, name, domainOwnershipIdentifierName, domainOwnershipIdentifier, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Creates a domain ownership identifier for web app, or updates an existing
            /// ownership identifier.
            /// </summary>
            /// <remarks>
            /// Description for Creates a domain ownership identifier for web app, or
            /// updates an existing ownership identifier.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='domainOwnershipIdentifierName'>
            /// Name of domain ownership identifier.
            /// </param>
            /// <param name='domainOwnershipIdentifier'>
            /// A JSON representation of the domain ownership properties.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// delete the binding for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<Identifier> UpdateDomainOwnershipIdentifierSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string domainOwnershipIdentifierName, Identifier domainOwnershipIdentifier, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateDomainOwnershipIdentifierSlotWithHttpMessagesAsync(resourceGroupName, name, domainOwnershipIdentifierName, domainOwnershipIdentifier, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get the status of the last MSDeploy operation.
            /// </summary>
            /// <remarks>
            /// Description for Get the status of the last MSDeploy operation.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            public static MSDeployStatus GetMSDeployStatusSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.GetMSDeployStatusSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get the status of the last MSDeploy operation.
            /// </summary>
            /// <remarks>
            /// Description for Get the status of the last MSDeploy operation.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<MSDeployStatus> GetMSDeployStatusSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetMSDeployStatusSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Invoke the MSDeploy web app extension.
            /// </summary>
            /// <remarks>
            /// Description for Invoke the MSDeploy web app extension.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            /// <param name='mSDeploy'>
            /// Details of MSDeploy operation
            /// </param>
            public static MSDeployStatus CreateMSDeployOperationSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, MSDeploy mSDeploy)
            {
                return operations.CreateMSDeployOperationSlotAsync(resourceGroupName, name, slot, mSDeploy).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Invoke the MSDeploy web app extension.
            /// </summary>
            /// <remarks>
            /// Description for Invoke the MSDeploy web app extension.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            /// <param name='mSDeploy'>
            /// Details of MSDeploy operation
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<MSDeployStatus> CreateMSDeployOperationSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, MSDeploy mSDeploy, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.CreateMSDeployOperationSlotWithHttpMessagesAsync(resourceGroupName, name, slot, mSDeploy, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get the MSDeploy Log for the last MSDeploy operation.
            /// </summary>
            /// <remarks>
            /// Description for Get the MSDeploy Log for the last MSDeploy operation.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            public static MSDeployLog GetMSDeployLogSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.GetMSDeployLogSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get the MSDeploy Log for the last MSDeploy operation.
            /// </summary>
            /// <remarks>
            /// Description for Get the MSDeploy Log for the last MSDeploy operation.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<MSDeployLog> GetMSDeployLogSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetMSDeployLogSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// List the functions for a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List the functions for a web site, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot.
            /// </param>
            public static IPage<FunctionEnvelope> ListInstanceFunctionsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.ListInstanceFunctionsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List the functions for a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List the functions for a web site, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<FunctionEnvelope>> ListInstanceFunctionsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListInstanceFunctionsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Fetch a short lived token that can be exchanged for a master key.
            /// </summary>
            /// <remarks>
            /// Description for Fetch a short lived token that can be exchanged for a
            /// master key.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            public static string GetFunctionsAdminTokenSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.GetFunctionsAdminTokenSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Fetch a short lived token that can be exchanged for a master key.
            /// </summary>
            /// <remarks>
            /// Description for Fetch a short lived token that can be exchanged for a
            /// master key.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<string> GetFunctionsAdminTokenSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetFunctionsAdminTokenSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get function information by its ID for web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get function information by its ID for web site, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='functionName'>
            /// Function name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot.
            /// </param>
            public static FunctionEnvelope GetInstanceFunctionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string functionName, string slot)
            {
                return operations.GetInstanceFunctionSlotAsync(resourceGroupName, name, functionName, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get function information by its ID for web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get function information by its ID for web site, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='functionName'>
            /// Function name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<FunctionEnvelope> GetInstanceFunctionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string functionName, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetInstanceFunctionSlotWithHttpMessagesAsync(resourceGroupName, name, functionName, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Create function for web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Create function for web site, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='functionName'>
            /// Function name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot.
            /// </param>
            /// <param name='functionEnvelope'>
            /// Function details.
            /// </param>
            public static FunctionEnvelope CreateInstanceFunctionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string functionName, string slot, FunctionEnvelope functionEnvelope)
            {
                return operations.CreateInstanceFunctionSlotAsync(resourceGroupName, name, functionName, slot, functionEnvelope).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Create function for web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Create function for web site, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='functionName'>
            /// Function name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot.
            /// </param>
            /// <param name='functionEnvelope'>
            /// Function details.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<FunctionEnvelope> CreateInstanceFunctionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string functionName, string slot, FunctionEnvelope functionEnvelope, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.CreateInstanceFunctionSlotWithHttpMessagesAsync(resourceGroupName, name, functionName, slot, functionEnvelope, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Delete a function for web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Delete a function for web site, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='functionName'>
            /// Function name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot.
            /// </param>
            public static void DeleteInstanceFunctionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string functionName, string slot)
            {
                operations.DeleteInstanceFunctionSlotAsync(resourceGroupName, name, functionName, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Delete a function for web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Delete a function for web site, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='functionName'>
            /// Function name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteInstanceFunctionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string functionName, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteInstanceFunctionSlotWithHttpMessagesAsync(resourceGroupName, name, functionName, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Add or update a function secret.
            /// </summary>
            /// <remarks>
            /// Description for Add or update a function secret.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='functionName'>
            /// The name of the function.
            /// </param>
            /// <param name='keyName'>
            /// The name of the key.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot.
            /// </param>
            /// <param name='key'>
            /// The key to create or update
            /// </param>
            public static KeyInfo CreateOrUpdateFunctionSecretSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string functionName, string keyName, string slot, KeyInfo key)
            {
                return operations.CreateOrUpdateFunctionSecretSlotAsync(resourceGroupName, name, functionName, keyName, slot, key).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Add or update a function secret.
            /// </summary>
            /// <remarks>
            /// Description for Add or update a function secret.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='functionName'>
            /// The name of the function.
            /// </param>
            /// <param name='keyName'>
            /// The name of the key.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot.
            /// </param>
            /// <param name='key'>
            /// The key to create or update
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<KeyInfo> CreateOrUpdateFunctionSecretSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string functionName, string keyName, string slot, KeyInfo key, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.CreateOrUpdateFunctionSecretSlotWithHttpMessagesAsync(resourceGroupName, name, functionName, keyName, slot, key, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Delete a function secret.
            /// </summary>
            /// <remarks>
            /// Description for Delete a function secret.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='functionName'>
            /// The name of the function.
            /// </param>
            /// <param name='keyName'>
            /// The name of the key.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot.
            /// </param>
            public static void DeleteFunctionSecretSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string functionName, string keyName, string slot)
            {
                operations.DeleteFunctionSecretSlotAsync(resourceGroupName, name, functionName, keyName, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Delete a function secret.
            /// </summary>
            /// <remarks>
            /// Description for Delete a function secret.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='functionName'>
            /// The name of the function.
            /// </param>
            /// <param name='keyName'>
            /// The name of the key.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteFunctionSecretSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string functionName, string keyName, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteFunctionSecretSlotWithHttpMessagesAsync(resourceGroupName, name, functionName, keyName, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Get function keys for a function in a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get function keys for a function in a web site, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='functionName'>
            /// Function name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot.
            /// </param>
            public static StringDictionary ListFunctionKeysSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string functionName, string slot)
            {
                return operations.ListFunctionKeysSlotAsync(resourceGroupName, name, functionName, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get function keys for a function in a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get function keys for a function in a web site, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='functionName'>
            /// Function name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<StringDictionary> ListFunctionKeysSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string functionName, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListFunctionKeysSlotWithHttpMessagesAsync(resourceGroupName, name, functionName, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get function secrets for a function in a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get function secrets for a function in a web site, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='functionName'>
            /// Function name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot.
            /// </param>
            public static FunctionSecrets ListFunctionSecretsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string functionName, string slot)
            {
                return operations.ListFunctionSecretsSlotAsync(resourceGroupName, name, functionName, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get function secrets for a function in a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get function secrets for a function in a web site, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='functionName'>
            /// Function name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<FunctionSecrets> ListFunctionSecretsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string functionName, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListFunctionSecretsSlotWithHttpMessagesAsync(resourceGroupName, name, functionName, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get host secrets for a function app.
            /// </summary>
            /// <remarks>
            /// Description for Get host secrets for a function app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot.
            /// </param>
            public static HostKeys ListHostKeysSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.ListHostKeysSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get host secrets for a function app.
            /// </summary>
            /// <remarks>
            /// Description for Get host secrets for a function app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<HostKeys> ListHostKeysSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListHostKeysSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// This is to allow calling via powershell and ARM template.
            /// </summary>
            /// <remarks>
            /// Description for This is to allow calling via powershell and ARM template.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot.
            /// </param>
            public static void ListSyncStatusSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                operations.ListSyncStatusSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// This is to allow calling via powershell and ARM template.
            /// </summary>
            /// <remarks>
            /// Description for This is to allow calling via powershell and ARM template.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task ListSyncStatusSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.ListSyncStatusSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Syncs function trigger metadata to the management database
            /// </summary>
            /// <remarks>
            /// Description for Syncs function trigger metadata to the management database
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot.
            /// </param>
            public static void SyncFunctionsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                operations.SyncFunctionsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Syncs function trigger metadata to the management database
            /// </summary>
            /// <remarks>
            /// Description for Syncs function trigger metadata to the management database
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task SyncFunctionsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.SyncFunctionsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Add or update a host level secret.
            /// </summary>
            /// <remarks>
            /// Description for Add or update a host level secret.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='keyType'>
            /// The type of host key.
            /// </param>
            /// <param name='keyName'>
            /// The name of the key.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot.
            /// </param>
            /// <param name='key'>
            /// The key to create or update
            /// </param>
            public static KeyInfo CreateOrUpdateHostSecretSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string keyType, string keyName, string slot, KeyInfo key)
            {
                return operations.CreateOrUpdateHostSecretSlotAsync(resourceGroupName, name, keyType, keyName, slot, key).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Add or update a host level secret.
            /// </summary>
            /// <remarks>
            /// Description for Add or update a host level secret.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='keyType'>
            /// The type of host key.
            /// </param>
            /// <param name='keyName'>
            /// The name of the key.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot.
            /// </param>
            /// <param name='key'>
            /// The key to create or update
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<KeyInfo> CreateOrUpdateHostSecretSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string keyType, string keyName, string slot, KeyInfo key, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.CreateOrUpdateHostSecretSlotWithHttpMessagesAsync(resourceGroupName, name, keyType, keyName, slot, key, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Delete a host level secret.
            /// </summary>
            /// <remarks>
            /// Description for Delete a host level secret.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='keyType'>
            /// The type of host key.
            /// </param>
            /// <param name='keyName'>
            /// The name of the key.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot.
            /// </param>
            public static void DeleteHostSecretSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string keyType, string keyName, string slot)
            {
                operations.DeleteHostSecretSlotAsync(resourceGroupName, name, keyType, keyName, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Delete a host level secret.
            /// </summary>
            /// <remarks>
            /// Description for Delete a host level secret.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='keyType'>
            /// The type of host key.
            /// </param>
            /// <param name='keyName'>
            /// The name of the key.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteHostSecretSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string keyType, string keyName, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteHostSecretSlotWithHttpMessagesAsync(resourceGroupName, name, keyType, keyName, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Get hostname bindings for an app or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get hostname bindings for an app or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API gets
            /// hostname bindings for the production slot.
            /// </param>
            public static IPage<HostNameBinding> ListHostNameBindingsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.ListHostNameBindingsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get hostname bindings for an app or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get hostname bindings for an app or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API gets
            /// hostname bindings for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<HostNameBinding>> ListHostNameBindingsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListHostNameBindingsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get the named hostname binding for an app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Get the named hostname binding for an app (or deployment
            /// slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API the named
            /// binding for the production slot.
            /// </param>
            /// <param name='hostName'>
            /// Hostname in the hostname binding.
            /// </param>
            public static HostNameBinding GetHostNameBindingSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string hostName)
            {
                return operations.GetHostNameBindingSlotAsync(resourceGroupName, name, slot, hostName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get the named hostname binding for an app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Get the named hostname binding for an app (or deployment
            /// slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API the named
            /// binding for the production slot.
            /// </param>
            /// <param name='hostName'>
            /// Hostname in the hostname binding.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<HostNameBinding> GetHostNameBindingSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string hostName, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetHostNameBindingSlotWithHttpMessagesAsync(resourceGroupName, name, slot, hostName, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Creates a hostname binding for an app.
            /// </summary>
            /// <remarks>
            /// Description for Creates a hostname binding for an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='hostName'>
            /// Hostname in the hostname binding.
            /// </param>
            /// <param name='hostNameBinding'>
            /// Binding details. This is the JSON representation of a HostNameBinding
            /// object.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// create a binding for the production slot.
            /// </param>
            public static HostNameBinding CreateOrUpdateHostNameBindingSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string hostName, HostNameBinding hostNameBinding, string slot)
            {
                return operations.CreateOrUpdateHostNameBindingSlotAsync(resourceGroupName, name, hostName, hostNameBinding, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Creates a hostname binding for an app.
            /// </summary>
            /// <remarks>
            /// Description for Creates a hostname binding for an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='hostName'>
            /// Hostname in the hostname binding.
            /// </param>
            /// <param name='hostNameBinding'>
            /// Binding details. This is the JSON representation of a HostNameBinding
            /// object.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// create a binding for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<HostNameBinding> CreateOrUpdateHostNameBindingSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string hostName, HostNameBinding hostNameBinding, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.CreateOrUpdateHostNameBindingSlotWithHttpMessagesAsync(resourceGroupName, name, hostName, hostNameBinding, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Deletes a hostname binding for an app.
            /// </summary>
            /// <remarks>
            /// Description for Deletes a hostname binding for an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// delete the binding for the production slot.
            /// </param>
            /// <param name='hostName'>
            /// Hostname in the hostname binding.
            /// </param>
            public static void DeleteHostNameBindingSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string hostName)
            {
                operations.DeleteHostNameBindingSlotAsync(resourceGroupName, name, slot, hostName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Deletes a hostname binding for an app.
            /// </summary>
            /// <remarks>
            /// Description for Deletes a hostname binding for an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// delete the binding for the production slot.
            /// </param>
            /// <param name='hostName'>
            /// Hostname in the hostname binding.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteHostNameBindingSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string hostName, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteHostNameBindingSlotWithHttpMessagesAsync(resourceGroupName, name, slot, hostName, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Retrieves a specific Service Bus Hybrid Connection used by this Web App.
            /// </summary>
            /// <remarks>
            /// Description for Retrieves a specific Service Bus Hybrid Connection used by
            /// this Web App.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='namespaceName'>
            /// The namespace for this hybrid connection.
            /// </param>
            /// <param name='relayName'>
            /// The relay name for this hybrid connection.
            /// </param>
            /// <param name='slot'>
            /// The name of the slot for the web app.
            /// </param>
            public static HybridConnection GetHybridConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, string slot)
            {
                return operations.GetHybridConnectionSlotAsync(resourceGroupName, name, namespaceName, relayName, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Retrieves a specific Service Bus Hybrid Connection used by this Web App.
            /// </summary>
            /// <remarks>
            /// Description for Retrieves a specific Service Bus Hybrid Connection used by
            /// this Web App.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='namespaceName'>
            /// The namespace for this hybrid connection.
            /// </param>
            /// <param name='relayName'>
            /// The relay name for this hybrid connection.
            /// </param>
            /// <param name='slot'>
            /// The name of the slot for the web app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<HybridConnection> GetHybridConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetHybridConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, namespaceName, relayName, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Creates a new Hybrid Connection using a Service Bus relay.
            /// </summary>
            /// <remarks>
            /// Description for Creates a new Hybrid Connection using a Service Bus relay.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='namespaceName'>
            /// The namespace for this hybrid connection.
            /// </param>
            /// <param name='relayName'>
            /// The relay name for this hybrid connection.
            /// </param>
            /// <param name='connectionEnvelope'>
            /// The details of the hybrid connection.
            /// </param>
            /// <param name='slot'>
            /// The name of the slot for the web app.
            /// </param>
            public static HybridConnection CreateOrUpdateHybridConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope, string slot)
            {
                return operations.CreateOrUpdateHybridConnectionSlotAsync(resourceGroupName, name, namespaceName, relayName, connectionEnvelope, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Creates a new Hybrid Connection using a Service Bus relay.
            /// </summary>
            /// <remarks>
            /// Description for Creates a new Hybrid Connection using a Service Bus relay.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='namespaceName'>
            /// The namespace for this hybrid connection.
            /// </param>
            /// <param name='relayName'>
            /// The relay name for this hybrid connection.
            /// </param>
            /// <param name='connectionEnvelope'>
            /// The details of the hybrid connection.
            /// </param>
            /// <param name='slot'>
            /// The name of the slot for the web app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<HybridConnection> CreateOrUpdateHybridConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.CreateOrUpdateHybridConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, namespaceName, relayName, connectionEnvelope, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Removes a Hybrid Connection from this site.
            /// </summary>
            /// <remarks>
            /// Description for Removes a Hybrid Connection from this site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='namespaceName'>
            /// The namespace for this hybrid connection.
            /// </param>
            /// <param name='relayName'>
            /// The relay name for this hybrid connection.
            /// </param>
            /// <param name='slot'>
            /// The name of the slot for the web app.
            /// </param>
            public static void DeleteHybridConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, string slot)
            {
                operations.DeleteHybridConnectionSlotAsync(resourceGroupName, name, namespaceName, relayName, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Removes a Hybrid Connection from this site.
            /// </summary>
            /// <remarks>
            /// Description for Removes a Hybrid Connection from this site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='namespaceName'>
            /// The namespace for this hybrid connection.
            /// </param>
            /// <param name='relayName'>
            /// The relay name for this hybrid connection.
            /// </param>
            /// <param name='slot'>
            /// The name of the slot for the web app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteHybridConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteHybridConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, namespaceName, relayName, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Creates a new Hybrid Connection using a Service Bus relay.
            /// </summary>
            /// <remarks>
            /// Description for Creates a new Hybrid Connection using a Service Bus relay.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='namespaceName'>
            /// The namespace for this hybrid connection.
            /// </param>
            /// <param name='relayName'>
            /// The relay name for this hybrid connection.
            /// </param>
            /// <param name='connectionEnvelope'>
            /// The details of the hybrid connection.
            /// </param>
            /// <param name='slot'>
            /// The name of the slot for the web app.
            /// </param>
            public static HybridConnection UpdateHybridConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope, string slot)
            {
                return operations.UpdateHybridConnectionSlotAsync(resourceGroupName, name, namespaceName, relayName, connectionEnvelope, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Creates a new Hybrid Connection using a Service Bus relay.
            /// </summary>
            /// <remarks>
            /// Description for Creates a new Hybrid Connection using a Service Bus relay.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='namespaceName'>
            /// The namespace for this hybrid connection.
            /// </param>
            /// <param name='relayName'>
            /// The relay name for this hybrid connection.
            /// </param>
            /// <param name='connectionEnvelope'>
            /// The details of the hybrid connection.
            /// </param>
            /// <param name='slot'>
            /// The name of the slot for the web app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<HybridConnection> UpdateHybridConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string namespaceName, string relayName, HybridConnection connectionEnvelope, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateHybridConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, namespaceName, relayName, connectionEnvelope, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Retrieves all Service Bus Hybrid Connections used by this Web App.
            /// </summary>
            /// <remarks>
            /// Description for Retrieves all Service Bus Hybrid Connections used by this
            /// Web App.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='slot'>
            /// The name of the slot for the web app.
            /// </param>
            public static HybridConnection ListHybridConnectionsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.ListHybridConnectionsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Retrieves all Service Bus Hybrid Connections used by this Web App.
            /// </summary>
            /// <remarks>
            /// Description for Retrieves all Service Bus Hybrid Connections used by this
            /// Web App.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='slot'>
            /// The name of the slot for the web app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<HybridConnection> ListHybridConnectionsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListHybridConnectionsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets hybrid connections configured for an app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets hybrid connections configured for an app (or
            /// deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// hybrid connections for the production slot.
            /// </param>
            public static RelayServiceConnectionEntity ListRelayServiceConnectionsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.ListRelayServiceConnectionsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets hybrid connections configured for an app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets hybrid connections configured for an app (or
            /// deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// hybrid connections for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<RelayServiceConnectionEntity> ListRelayServiceConnectionsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListRelayServiceConnectionsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets a hybrid connection configuration by its name.
            /// </summary>
            /// <remarks>
            /// Description for Gets a hybrid connection configuration by its name.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='entityName'>
            /// Name of the hybrid connection.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get a
            /// hybrid connection for the production slot.
            /// </param>
            public static RelayServiceConnectionEntity GetRelayServiceConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, string slot)
            {
                return operations.GetRelayServiceConnectionSlotAsync(resourceGroupName, name, entityName, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets a hybrid connection configuration by its name.
            /// </summary>
            /// <remarks>
            /// Description for Gets a hybrid connection configuration by its name.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='entityName'>
            /// Name of the hybrid connection.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get a
            /// hybrid connection for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<RelayServiceConnectionEntity> GetRelayServiceConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetRelayServiceConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, entityName, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Creates a new hybrid connection configuration (PUT), or updates an existing
            /// one (PATCH).
            /// </summary>
            /// <remarks>
            /// Description for Creates a new hybrid connection configuration (PUT), or
            /// updates an existing one (PATCH).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='entityName'>
            /// Name of the hybrid connection configuration.
            /// </param>
            /// <param name='connectionEnvelope'>
            /// Details of the hybrid connection configuration.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// create or update a hybrid connection for the production slot.
            /// </param>
            public static RelayServiceConnectionEntity CreateOrUpdateRelayServiceConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope, string slot)
            {
                return operations.CreateOrUpdateRelayServiceConnectionSlotAsync(resourceGroupName, name, entityName, connectionEnvelope, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Creates a new hybrid connection configuration (PUT), or updates an existing
            /// one (PATCH).
            /// </summary>
            /// <remarks>
            /// Description for Creates a new hybrid connection configuration (PUT), or
            /// updates an existing one (PATCH).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='entityName'>
            /// Name of the hybrid connection configuration.
            /// </param>
            /// <param name='connectionEnvelope'>
            /// Details of the hybrid connection configuration.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// create or update a hybrid connection for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<RelayServiceConnectionEntity> CreateOrUpdateRelayServiceConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.CreateOrUpdateRelayServiceConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, entityName, connectionEnvelope, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Deletes a relay service connection by its name.
            /// </summary>
            /// <remarks>
            /// Description for Deletes a relay service connection by its name.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='entityName'>
            /// Name of the hybrid connection configuration.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// delete a hybrid connection for the production slot.
            /// </param>
            public static void DeleteRelayServiceConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, string slot)
            {
                operations.DeleteRelayServiceConnectionSlotAsync(resourceGroupName, name, entityName, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Deletes a relay service connection by its name.
            /// </summary>
            /// <remarks>
            /// Description for Deletes a relay service connection by its name.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='entityName'>
            /// Name of the hybrid connection configuration.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// delete a hybrid connection for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteRelayServiceConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteRelayServiceConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, entityName, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Creates a new hybrid connection configuration (PUT), or updates an existing
            /// one (PATCH).
            /// </summary>
            /// <remarks>
            /// Description for Creates a new hybrid connection configuration (PUT), or
            /// updates an existing one (PATCH).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='entityName'>
            /// Name of the hybrid connection configuration.
            /// </param>
            /// <param name='connectionEnvelope'>
            /// Details of the hybrid connection configuration.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// create or update a hybrid connection for the production slot.
            /// </param>
            public static RelayServiceConnectionEntity UpdateRelayServiceConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope, string slot)
            {
                return operations.UpdateRelayServiceConnectionSlotAsync(resourceGroupName, name, entityName, connectionEnvelope, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Creates a new hybrid connection configuration (PUT), or updates an existing
            /// one (PATCH).
            /// </summary>
            /// <remarks>
            /// Description for Creates a new hybrid connection configuration (PUT), or
            /// updates an existing one (PATCH).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='entityName'>
            /// Name of the hybrid connection configuration.
            /// </param>
            /// <param name='connectionEnvelope'>
            /// Details of the hybrid connection configuration.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// create or update a hybrid connection for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<RelayServiceConnectionEntity> UpdateRelayServiceConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string entityName, RelayServiceConnectionEntity connectionEnvelope, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateRelayServiceConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, entityName, connectionEnvelope, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets all scale-out instances of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets all scale-out instances of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API gets the
            /// production slot instances.
            /// </param>
            public static IPage<WebSiteInstanceStatus> ListInstanceIdentifiersSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.ListInstanceIdentifiersSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets all scale-out instances of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets all scale-out instances of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API gets the
            /// production slot instances.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<WebSiteInstanceStatus>> ListInstanceIdentifiersSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListInstanceIdentifiersSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets all scale-out instances of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets all scale-out instances of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='instanceId'>
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API gets the
            /// production slot instances.
            /// </param>
            public static WebSiteInstanceStatus GetInstanceInfoSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string instanceId, string slot)
            {
                return operations.GetInstanceInfoSlotAsync(resourceGroupName, name, instanceId, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets all scale-out instances of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets all scale-out instances of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='instanceId'>
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API gets the
            /// production slot instances.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<WebSiteInstanceStatus> GetInstanceInfoSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string instanceId, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetInstanceInfoSlotWithHttpMessagesAsync(resourceGroupName, name, instanceId, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get the status of the last MSDeploy operation.
            /// </summary>
            /// <remarks>
            /// Description for Get the status of the last MSDeploy operation.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            /// <param name='instanceId'>
            /// ID of web app instance.
            /// </param>
            public static MSDeployStatus GetInstanceMsDeployStatusSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string instanceId)
            {
                return operations.GetInstanceMsDeployStatusSlotAsync(resourceGroupName, name, slot, instanceId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get the status of the last MSDeploy operation.
            /// </summary>
            /// <remarks>
            /// Description for Get the status of the last MSDeploy operation.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            /// <param name='instanceId'>
            /// ID of web app instance.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<MSDeployStatus> GetInstanceMsDeployStatusSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string instanceId, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetInstanceMsDeployStatusSlotWithHttpMessagesAsync(resourceGroupName, name, slot, instanceId, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Invoke the MSDeploy web app extension.
            /// </summary>
            /// <remarks>
            /// Description for Invoke the MSDeploy web app extension.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            /// <param name='instanceId'>
            /// ID of web app instance.
            /// </param>
            /// <param name='mSDeploy'>
            /// Details of MSDeploy operation
            /// </param>
            public static MSDeployStatus CreateInstanceMSDeployOperationSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string instanceId, MSDeploy mSDeploy)
            {
                return operations.CreateInstanceMSDeployOperationSlotAsync(resourceGroupName, name, slot, instanceId, mSDeploy).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Invoke the MSDeploy web app extension.
            /// </summary>
            /// <remarks>
            /// Description for Invoke the MSDeploy web app extension.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            /// <param name='instanceId'>
            /// ID of web app instance.
            /// </param>
            /// <param name='mSDeploy'>
            /// Details of MSDeploy operation
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<MSDeployStatus> CreateInstanceMSDeployOperationSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string instanceId, MSDeploy mSDeploy, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.CreateInstanceMSDeployOperationSlotWithHttpMessagesAsync(resourceGroupName, name, slot, instanceId, mSDeploy, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get the MSDeploy Log for the last MSDeploy operation.
            /// </summary>
            /// <remarks>
            /// Description for Get the MSDeploy Log for the last MSDeploy operation.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            /// <param name='instanceId'>
            /// ID of web app instance.
            /// </param>
            public static MSDeployLog GetInstanceMSDeployLogSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string instanceId)
            {
                return operations.GetInstanceMSDeployLogSlotAsync(resourceGroupName, name, slot, instanceId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get the MSDeploy Log for the last MSDeploy operation.
            /// </summary>
            /// <remarks>
            /// Description for Get the MSDeploy Log for the last MSDeploy operation.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            /// <param name='instanceId'>
            /// ID of web app instance.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<MSDeployLog> GetInstanceMSDeployLogSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string instanceId, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetInstanceMSDeployLogSlotWithHttpMessagesAsync(resourceGroupName, name, slot, instanceId, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get list of processes for a web site, or a deployment slot, or for a
            /// specific scaled-out instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for Get list of processes for a web site, or a deployment slot,
            /// or for a specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            /// <param name='instanceId'>
            /// ID of a specific scaled-out instance. This is the value of the name
            /// property in the JSON response from "GET api/sites/{siteName}/instances".
            /// </param>
            public static IPage<ProcessInfo> ListInstanceProcessesSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string instanceId)
            {
                return operations.ListInstanceProcessesSlotAsync(resourceGroupName, name, slot, instanceId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get list of processes for a web site, or a deployment slot, or for a
            /// specific scaled-out instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for Get list of processes for a web site, or a deployment slot,
            /// or for a specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            /// <param name='instanceId'>
            /// ID of a specific scaled-out instance. This is the value of the name
            /// property in the JSON response from "GET api/sites/{siteName}/instances".
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ProcessInfo>> ListInstanceProcessesSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string instanceId, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListInstanceProcessesSlotWithHttpMessagesAsync(resourceGroupName, name, slot, instanceId, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get process information by its ID for a specific scaled-out instance in a
            /// web site.
            /// </summary>
            /// <remarks>
            /// Description for Get process information by its ID for a specific scaled-out
            /// instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            /// <param name='instanceId'>
            /// ID of a specific scaled-out instance. This is the value of the name
            /// property in the JSON response from "GET api/sites/{siteName}/instances".
            /// </param>
            public static ProcessInfo GetInstanceProcessSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string slot, string instanceId)
            {
                return operations.GetInstanceProcessSlotAsync(resourceGroupName, name, processId, slot, instanceId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get process information by its ID for a specific scaled-out instance in a
            /// web site.
            /// </summary>
            /// <remarks>
            /// Description for Get process information by its ID for a specific scaled-out
            /// instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            /// <param name='instanceId'>
            /// ID of a specific scaled-out instance. This is the value of the name
            /// property in the JSON response from "GET api/sites/{siteName}/instances".
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<ProcessInfo> GetInstanceProcessSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string slot, string instanceId, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetInstanceProcessSlotWithHttpMessagesAsync(resourceGroupName, name, processId, slot, instanceId, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Terminate a process by its ID for a web site, or a deployment slot, or
            /// specific scaled-out instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for Terminate a process by its ID for a web site, or a
            /// deployment slot, or specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            /// <param name='instanceId'>
            /// ID of a specific scaled-out instance. This is the value of the name
            /// property in the JSON response from "GET api/sites/{siteName}/instances".
            /// </param>
            public static void DeleteInstanceProcessSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string slot, string instanceId)
            {
                operations.DeleteInstanceProcessSlotAsync(resourceGroupName, name, processId, slot, instanceId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Terminate a process by its ID for a web site, or a deployment slot, or
            /// specific scaled-out instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for Terminate a process by its ID for a web site, or a
            /// deployment slot, or specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            /// <param name='instanceId'>
            /// ID of a specific scaled-out instance. This is the value of the name
            /// property in the JSON response from "GET api/sites/{siteName}/instances".
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteInstanceProcessSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string slot, string instanceId, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteInstanceProcessSlotWithHttpMessagesAsync(resourceGroupName, name, processId, slot, instanceId, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Get a memory dump of a process by its ID for a specific scaled-out instance
            /// in a web site.
            /// </summary>
            /// <remarks>
            /// Description for Get a memory dump of a process by its ID for a specific
            /// scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            /// <param name='instanceId'>
            /// ID of a specific scaled-out instance. This is the value of the name
            /// property in the JSON response from "GET api/sites/{siteName}/instances".
            /// </param>
            public static Stream GetInstanceProcessDumpSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string slot, string instanceId)
            {
                return operations.GetInstanceProcessDumpSlotAsync(resourceGroupName, name, processId, slot, instanceId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get a memory dump of a process by its ID for a specific scaled-out instance
            /// in a web site.
            /// </summary>
            /// <remarks>
            /// Description for Get a memory dump of a process by its ID for a specific
            /// scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            /// <param name='instanceId'>
            /// ID of a specific scaled-out instance. This is the value of the name
            /// property in the JSON response from "GET api/sites/{siteName}/instances".
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<Stream> GetInstanceProcessDumpSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string slot, string instanceId, CancellationToken cancellationToken = default(CancellationToken))
            {
                var _result = await operations.GetInstanceProcessDumpSlotWithHttpMessagesAsync(resourceGroupName, name, processId, slot, instanceId, null, cancellationToken).ConfigureAwait(false);
                _result.Request.Dispose();
                return _result.Body;
            }
 
            /// <summary>
            /// List module information for a process by its ID for a specific scaled-out
            /// instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for List module information for a process by its ID for a
            /// specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            /// <param name='instanceId'>
            /// ID of a specific scaled-out instance. This is the value of the name
            /// property in the JSON response from "GET api/sites/{siteName}/instances".
            /// </param>
            public static IPage<ProcessModuleInfo> ListInstanceProcessModulesSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string slot, string instanceId)
            {
                return operations.ListInstanceProcessModulesSlotAsync(resourceGroupName, name, processId, slot, instanceId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List module information for a process by its ID for a specific scaled-out
            /// instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for List module information for a process by its ID for a
            /// specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            /// <param name='instanceId'>
            /// ID of a specific scaled-out instance. This is the value of the name
            /// property in the JSON response from "GET api/sites/{siteName}/instances".
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ProcessModuleInfo>> ListInstanceProcessModulesSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string slot, string instanceId, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListInstanceProcessModulesSlotWithHttpMessagesAsync(resourceGroupName, name, processId, slot, instanceId, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get process information by its ID for a specific scaled-out instance in a
            /// web site.
            /// </summary>
            /// <remarks>
            /// Description for Get process information by its ID for a specific scaled-out
            /// instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='baseAddress'>
            /// Module base address.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            /// <param name='instanceId'>
            /// ID of a specific scaled-out instance. This is the value of the name
            /// property in the JSON response from "GET api/sites/{siteName}/instances".
            /// </param>
            public static ProcessModuleInfo GetInstanceProcessModuleSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string baseAddress, string slot, string instanceId)
            {
                return operations.GetInstanceProcessModuleSlotAsync(resourceGroupName, name, processId, baseAddress, slot, instanceId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get process information by its ID for a specific scaled-out instance in a
            /// web site.
            /// </summary>
            /// <remarks>
            /// Description for Get process information by its ID for a specific scaled-out
            /// instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='baseAddress'>
            /// Module base address.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            /// <param name='instanceId'>
            /// ID of a specific scaled-out instance. This is the value of the name
            /// property in the JSON response from "GET api/sites/{siteName}/instances".
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<ProcessModuleInfo> GetInstanceProcessModuleSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string baseAddress, string slot, string instanceId, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetInstanceProcessModuleSlotWithHttpMessagesAsync(resourceGroupName, name, processId, baseAddress, slot, instanceId, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// List the threads in a process by its ID for a specific scaled-out instance
            /// in a web site.
            /// </summary>
            /// <remarks>
            /// Description for List the threads in a process by its ID for a specific
            /// scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            /// <param name='instanceId'>
            /// ID of a specific scaled-out instance. This is the value of the name
            /// property in the JSON response from "GET api/sites/{siteName}/instances".
            /// </param>
            public static IPage<ProcessThreadInfo> ListInstanceProcessThreadsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string slot, string instanceId)
            {
                return operations.ListInstanceProcessThreadsSlotAsync(resourceGroupName, name, processId, slot, instanceId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List the threads in a process by its ID for a specific scaled-out instance
            /// in a web site.
            /// </summary>
            /// <remarks>
            /// Description for List the threads in a process by its ID for a specific
            /// scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            /// <param name='instanceId'>
            /// ID of a specific scaled-out instance. This is the value of the name
            /// property in the JSON response from "GET api/sites/{siteName}/instances".
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ProcessThreadInfo>> ListInstanceProcessThreadsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string slot, string instanceId, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListInstanceProcessThreadsSlotWithHttpMessagesAsync(resourceGroupName, name, processId, slot, instanceId, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Shows whether an app can be cloned to another resource group or
            /// subscription.
            /// </summary>
            /// <remarks>
            /// Description for Shows whether an app can be cloned to another resource
            /// group or subscription.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. By default, this API returns information on
            /// the production slot.
            /// </param>
            public static SiteCloneability IsCloneableSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.IsCloneableSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Shows whether an app can be cloned to another resource group or
            /// subscription.
            /// </summary>
            /// <remarks>
            /// Description for Shows whether an app can be cloned to another resource
            /// group or subscription.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. By default, this API returns information on
            /// the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteCloneability> IsCloneableSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.IsCloneableSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets existing backups of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets existing backups of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// backups of the production slot.
            /// </param>
            public static IPage<BackupItem> ListSiteBackupsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.ListSiteBackupsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets existing backups of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets existing backups of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// backups of the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<BackupItem>> ListSiteBackupsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListSiteBackupsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// This is to allow calling via powershell and ARM template.
            /// </summary>
            /// <remarks>
            /// Description for This is to allow calling via powershell and ARM template.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot.
            /// </param>
            public static FunctionSecrets ListSyncFunctionTriggersSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.ListSyncFunctionTriggersSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// This is to allow calling via powershell and ARM template.
            /// </summary>
            /// <remarks>
            /// Description for This is to allow calling via powershell and ARM template.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<FunctionSecrets> ListSyncFunctionTriggersSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListSyncFunctionTriggersSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Returns the status of MySql in app migration, if one is active, and whether
            /// or not MySql in app is enabled
            /// </summary>
            /// <remarks>
            /// Description for Returns the status of MySql in app migration, if one is
            /// active, and whether or not MySql in app is enabled
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot.
            /// </param>
            public static MigrateMySqlStatus GetMigrateMySqlStatusSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.GetMigrateMySqlStatusSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Returns the status of MySql in app migration, if one is active, and whether
            /// or not MySql in app is enabled
            /// </summary>
            /// <remarks>
            /// Description for Returns the status of MySql in app migration, if one is
            /// active, and whether or not MySql in app is enabled
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<MigrateMySqlStatus> GetMigrateMySqlStatusSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetMigrateMySqlStatusSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets a Swift Virtual Network connection.
            /// </summary>
            /// <remarks>
            /// Description for Gets a Swift Virtual Network connection.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get a
            /// gateway for the production slot's Virtual Network.
            /// </param>
            public static SwiftVirtualNetwork GetSwiftVirtualNetworkConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.GetSwiftVirtualNetworkConnectionSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets a Swift Virtual Network connection.
            /// </summary>
            /// <remarks>
            /// Description for Gets a Swift Virtual Network connection.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get a
            /// gateway for the production slot's Virtual Network.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SwiftVirtualNetwork> GetSwiftVirtualNetworkConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetSwiftVirtualNetworkConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Integrates this Web App with a Virtual Network. This requires that 1)
            /// "swiftSupported" is true when doing a GET against this resource, and 2)
            /// that the target Subnet has already been delegated, and is not
            /// in use by another App Service Plan other than the one this App is in.
            /// </summary>
            /// <remarks>
            /// Description for Integrates this Web App with a Virtual Network. This
            /// requires that 1) "swiftSupported" is true when doing a GET against this
            /// resource, and 2) that the target Subnet has already been delegated, and is
            /// not
            /// in use by another App Service Plan other than the one this App is in.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='connectionEnvelope'>
            /// Properties of the Virtual Network connection. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will add
            /// or update connections for the production slot.
            /// </param>
            public static SwiftVirtualNetwork CreateOrUpdateSwiftVirtualNetworkConnectionWithCheckSlot(this IWebAppsOperations operations, string resourceGroupName, string name, SwiftVirtualNetwork connectionEnvelope, string slot)
            {
                return operations.CreateOrUpdateSwiftVirtualNetworkConnectionWithCheckSlotAsync(resourceGroupName, name, connectionEnvelope, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Integrates this Web App with a Virtual Network. This requires that 1)
            /// "swiftSupported" is true when doing a GET against this resource, and 2)
            /// that the target Subnet has already been delegated, and is not
            /// in use by another App Service Plan other than the one this App is in.
            /// </summary>
            /// <remarks>
            /// Description for Integrates this Web App with a Virtual Network. This
            /// requires that 1) "swiftSupported" is true when doing a GET against this
            /// resource, and 2) that the target Subnet has already been delegated, and is
            /// not
            /// in use by another App Service Plan other than the one this App is in.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='connectionEnvelope'>
            /// Properties of the Virtual Network connection. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will add
            /// or update connections for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SwiftVirtualNetwork> CreateOrUpdateSwiftVirtualNetworkConnectionWithCheckSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SwiftVirtualNetwork connectionEnvelope, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.CreateOrUpdateSwiftVirtualNetworkConnectionWithCheckSlotWithHttpMessagesAsync(resourceGroupName, name, connectionEnvelope, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Deletes a Swift Virtual Network connection from an app (or deployment
            /// slot).
            /// </summary>
            /// <remarks>
            /// Description for Deletes a Swift Virtual Network connection from an app (or
            /// deployment slot).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// delete the connection for the production slot.
            /// </param>
            public static void DeleteSwiftVirtualNetworkSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                operations.DeleteSwiftVirtualNetworkSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Deletes a Swift Virtual Network connection from an app (or deployment
            /// slot).
            /// </summary>
            /// <remarks>
            /// Description for Deletes a Swift Virtual Network connection from an app (or
            /// deployment slot).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// delete the connection for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteSwiftVirtualNetworkSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteSwiftVirtualNetworkSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Integrates this Web App with a Virtual Network. This requires that 1)
            /// "swiftSupported" is true when doing a GET against this resource, and 2)
            /// that the target Subnet has already been delegated, and is not
            /// in use by another App Service Plan other than the one this App is in.
            /// </summary>
            /// <remarks>
            /// Description for Integrates this Web App with a Virtual Network. This
            /// requires that 1) "swiftSupported" is true when doing a GET against this
            /// resource, and 2) that the target Subnet has already been delegated, and is
            /// not
            /// in use by another App Service Plan other than the one this App is in.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='connectionEnvelope'>
            /// Properties of the Virtual Network connection. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will add
            /// or update connections for the production slot.
            /// </param>
            public static SwiftVirtualNetwork UpdateSwiftVirtualNetworkConnectionWithCheckSlot(this IWebAppsOperations operations, string resourceGroupName, string name, SwiftVirtualNetwork connectionEnvelope, string slot)
            {
                return operations.UpdateSwiftVirtualNetworkConnectionWithCheckSlotAsync(resourceGroupName, name, connectionEnvelope, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Integrates this Web App with a Virtual Network. This requires that 1)
            /// "swiftSupported" is true when doing a GET against this resource, and 2)
            /// that the target Subnet has already been delegated, and is not
            /// in use by another App Service Plan other than the one this App is in.
            /// </summary>
            /// <remarks>
            /// Description for Integrates this Web App with a Virtual Network. This
            /// requires that 1) "swiftSupported" is true when doing a GET against this
            /// resource, and 2) that the target Subnet has already been delegated, and is
            /// not
            /// in use by another App Service Plan other than the one this App is in.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='connectionEnvelope'>
            /// Properties of the Virtual Network connection. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will add
            /// or update connections for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SwiftVirtualNetwork> UpdateSwiftVirtualNetworkConnectionWithCheckSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SwiftVirtualNetwork connectionEnvelope, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateSwiftVirtualNetworkConnectionWithCheckSlotWithHttpMessagesAsync(resourceGroupName, name, connectionEnvelope, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets all network features used by the app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets all network features used by the app (or deployment
            /// slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='view'>
            /// The type of view. Only "summary" is supported at this time.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// network features for the production slot.
            /// </param>
            public static NetworkFeatures ListNetworkFeaturesSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string view, string slot)
            {
                return operations.ListNetworkFeaturesSlotAsync(resourceGroupName, name, view, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets all network features used by the app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets all network features used by the app (or deployment
            /// slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='view'>
            /// The type of view. Only "summary" is supported at this time.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// network features for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<NetworkFeatures> ListNetworkFeaturesSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string view, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListNetworkFeaturesSlotWithHttpMessagesAsync(resourceGroupName, name, view, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets a named operation for a network trace capturing (or deployment slot,
            /// if specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets a named operation for a network trace capturing (or
            /// deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='operationId'>
            /// GUID of the operation.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// an operation for the production slot.
            /// </param>
            public static IList<NetworkTrace> GetNetworkTraceOperationSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string operationId, string slot)
            {
                return operations.GetNetworkTraceOperationSlotAsync(resourceGroupName, name, operationId, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets a named operation for a network trace capturing (or deployment slot,
            /// if specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets a named operation for a network trace capturing (or
            /// deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='operationId'>
            /// GUID of the operation.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// an operation for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IList<NetworkTrace>> GetNetworkTraceOperationSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string operationId, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetNetworkTraceOperationSlotWithHttpMessagesAsync(resourceGroupName, name, operationId, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Start capturing network packets for the site (To be deprecated).
            /// </summary>
            /// <remarks>
            /// Description for Start capturing network packets for the site (To be
            /// deprecated).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='slot'>
            /// The name of the slot for this web app.
            /// </param>
            /// <param name='durationInSeconds'>
            /// The duration to keep capturing in seconds.
            /// </param>
            /// <param name='maxFrameLength'>
            /// The maximum frame length in bytes (Optional).
            /// </param>
            /// <param name='sasUrl'>
            /// The Blob URL to store capture file.
            /// </param>
            public static string StartWebSiteNetworkTraceSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, int? durationInSeconds = default(int?), int? maxFrameLength = default(int?), string sasUrl = default(string))
            {
                return operations.StartWebSiteNetworkTraceSlotAsync(resourceGroupName, name, slot, durationInSeconds, maxFrameLength, sasUrl).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Start capturing network packets for the site (To be deprecated).
            /// </summary>
            /// <remarks>
            /// Description for Start capturing network packets for the site (To be
            /// deprecated).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='slot'>
            /// The name of the slot for this web app.
            /// </param>
            /// <param name='durationInSeconds'>
            /// The duration to keep capturing in seconds.
            /// </param>
            /// <param name='maxFrameLength'>
            /// The maximum frame length in bytes (Optional).
            /// </param>
            /// <param name='sasUrl'>
            /// The Blob URL to store capture file.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<string> StartWebSiteNetworkTraceSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, int? durationInSeconds = default(int?), int? maxFrameLength = default(int?), string sasUrl = default(string), CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.StartWebSiteNetworkTraceSlotWithHttpMessagesAsync(resourceGroupName, name, slot, durationInSeconds, maxFrameLength, sasUrl, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Start capturing network packets for the site.
            /// </summary>
            /// <remarks>
            /// Description for Start capturing network packets for the site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='slot'>
            /// The name of the slot for this web app.
            /// </param>
            /// <param name='durationInSeconds'>
            /// The duration to keep capturing in seconds.
            /// </param>
            /// <param name='maxFrameLength'>
            /// The maximum frame length in bytes (Optional).
            /// </param>
            /// <param name='sasUrl'>
            /// The Blob URL to store capture file.
            /// </param>
            public static IList<NetworkTrace> StartWebSiteNetworkTraceOperationSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, int? durationInSeconds = default(int?), int? maxFrameLength = default(int?), string sasUrl = default(string))
            {
                return operations.StartWebSiteNetworkTraceOperationSlotAsync(resourceGroupName, name, slot, durationInSeconds, maxFrameLength, sasUrl).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Start capturing network packets for the site.
            /// </summary>
            /// <remarks>
            /// Description for Start capturing network packets for the site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='slot'>
            /// The name of the slot for this web app.
            /// </param>
            /// <param name='durationInSeconds'>
            /// The duration to keep capturing in seconds.
            /// </param>
            /// <param name='maxFrameLength'>
            /// The maximum frame length in bytes (Optional).
            /// </param>
            /// <param name='sasUrl'>
            /// The Blob URL to store capture file.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IList<NetworkTrace>> StartWebSiteNetworkTraceOperationSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, int? durationInSeconds = default(int?), int? maxFrameLength = default(int?), string sasUrl = default(string), CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.StartWebSiteNetworkTraceOperationSlotWithHttpMessagesAsync(resourceGroupName, name, slot, durationInSeconds, maxFrameLength, sasUrl, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Stop ongoing capturing network packets for the site.
            /// </summary>
            /// <remarks>
            /// Description for Stop ongoing capturing network packets for the site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='slot'>
            /// The name of the slot for this web app.
            /// </param>
            public static void StopWebSiteNetworkTraceSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                operations.StopWebSiteNetworkTraceSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Stop ongoing capturing network packets for the site.
            /// </summary>
            /// <remarks>
            /// Description for Stop ongoing capturing network packets for the site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='slot'>
            /// The name of the slot for this web app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task StopWebSiteNetworkTraceSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.StopWebSiteNetworkTraceSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Gets a named operation for a network trace capturing (or deployment slot,
            /// if specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets a named operation for a network trace capturing (or
            /// deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='operationId'>
            /// GUID of the operation.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// an operation for the production slot.
            /// </param>
            public static IList<NetworkTrace> GetNetworkTracesSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string operationId, string slot)
            {
                return operations.GetNetworkTracesSlotAsync(resourceGroupName, name, operationId, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets a named operation for a network trace capturing (or deployment slot,
            /// if specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets a named operation for a network trace capturing (or
            /// deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='operationId'>
            /// GUID of the operation.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// an operation for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IList<NetworkTrace>> GetNetworkTracesSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string operationId, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetNetworkTracesSlotWithHttpMessagesAsync(resourceGroupName, name, operationId, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets a named operation for a network trace capturing (or deployment slot,
            /// if specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets a named operation for a network trace capturing (or
            /// deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='operationId'>
            /// GUID of the operation.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// an operation for the production slot.
            /// </param>
            public static IList<NetworkTrace> GetNetworkTraceOperationSlotV2(this IWebAppsOperations operations, string resourceGroupName, string name, string operationId, string slot)
            {
                return operations.GetNetworkTraceOperationSlotV2Async(resourceGroupName, name, operationId, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets a named operation for a network trace capturing (or deployment slot,
            /// if specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets a named operation for a network trace capturing (or
            /// deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='operationId'>
            /// GUID of the operation.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// an operation for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IList<NetworkTrace>> GetNetworkTraceOperationSlotV2Async(this IWebAppsOperations operations, string resourceGroupName, string name, string operationId, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetNetworkTraceOperationSlotV2WithHttpMessagesAsync(resourceGroupName, name, operationId, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets a named operation for a network trace capturing (or deployment slot,
            /// if specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets a named operation for a network trace capturing (or
            /// deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='operationId'>
            /// GUID of the operation.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// an operation for the production slot.
            /// </param>
            public static IList<NetworkTrace> GetNetworkTracesSlotV2(this IWebAppsOperations operations, string resourceGroupName, string name, string operationId, string slot)
            {
                return operations.GetNetworkTracesSlotV2Async(resourceGroupName, name, operationId, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets a named operation for a network trace capturing (or deployment slot,
            /// if specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets a named operation for a network trace capturing (or
            /// deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='operationId'>
            /// GUID of the operation.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// an operation for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IList<NetworkTrace>> GetNetworkTracesSlotV2Async(this IWebAppsOperations operations, string resourceGroupName, string name, string operationId, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetNetworkTracesSlotV2WithHttpMessagesAsync(resourceGroupName, name, operationId, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Generates a new publishing password for an app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Generates a new publishing password for an app (or
            /// deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API generate a
            /// new publishing password for the production slot.
            /// </param>
            public static void GenerateNewSitePublishingPasswordSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                operations.GenerateNewSitePublishingPasswordSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Generates a new publishing password for an app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Generates a new publishing password for an app (or
            /// deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API generate a
            /// new publishing password for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task GenerateNewSitePublishingPasswordSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.GenerateNewSitePublishingPasswordSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Gets perfmon counters for web app.
            /// </summary>
            /// <remarks>
            /// Description for Gets perfmon counters for web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            /// <param name='filter'>
            /// Return only usages/metrics specified in the filter. Filter conforms to
            /// odata syntax. Example: $filter=(startTime eq 2014-01-01T00:00:00Z and
            /// endTime eq 2014-12-31T23:59:59Z and timeGrain eq
            /// duration'[Hour|Minute|Day]'.
            /// </param>
            public static IPage<PerfMonResponse> ListPerfMonCountersSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string filter = default(string))
            {
                return operations.ListPerfMonCountersSlotAsync(resourceGroupName, name, slot, filter).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets perfmon counters for web app.
            /// </summary>
            /// <remarks>
            /// Description for Gets perfmon counters for web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            /// <param name='filter'>
            /// Return only usages/metrics specified in the filter. Filter conforms to
            /// odata syntax. Example: $filter=(startTime eq 2014-01-01T00:00:00Z and
            /// endTime eq 2014-12-31T23:59:59Z and timeGrain eq
            /// duration'[Hour|Minute|Day]'.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<PerfMonResponse>> ListPerfMonCountersSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string filter = default(string), CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListPerfMonCountersSlotWithHttpMessagesAsync(resourceGroupName, name, slot, filter, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets web app's event logs.
            /// </summary>
            /// <remarks>
            /// Description for Gets web app's event logs.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            public static SitePhpErrorLogFlag GetSitePhpErrorLogFlagSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.GetSitePhpErrorLogFlagSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets web app's event logs.
            /// </summary>
            /// <remarks>
            /// Description for Gets web app's event logs.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SitePhpErrorLogFlag> GetSitePhpErrorLogFlagSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetSitePhpErrorLogFlagSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the premier add-ons of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the premier add-ons of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// the premier add-ons for the production slot.
            /// </param>
            public static PremierAddOn ListPremierAddOnsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.ListPremierAddOnsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the premier add-ons of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the premier add-ons of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// the premier add-ons for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<PremierAddOn> ListPremierAddOnsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListPremierAddOnsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets a named add-on of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets a named add-on of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='premierAddOnName'>
            /// Add-on name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// the named add-on for the production slot.
            /// </param>
            public static PremierAddOn GetPremierAddOnSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName, string slot)
            {
                return operations.GetPremierAddOnSlotAsync(resourceGroupName, name, premierAddOnName, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets a named add-on of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets a named add-on of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='premierAddOnName'>
            /// Add-on name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// the named add-on for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<PremierAddOn> GetPremierAddOnSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetPremierAddOnSlotWithHttpMessagesAsync(resourceGroupName, name, premierAddOnName, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Updates a named add-on of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates a named add-on of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='premierAddOnName'>
            /// Add-on name.
            /// </param>
            /// <param name='premierAddOn'>
            /// A JSON representation of the edited premier add-on.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// update the named add-on for the production slot.
            /// </param>
            public static PremierAddOn AddPremierAddOnSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName, PremierAddOn premierAddOn, string slot)
            {
                return operations.AddPremierAddOnSlotAsync(resourceGroupName, name, premierAddOnName, premierAddOn, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Updates a named add-on of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates a named add-on of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='premierAddOnName'>
            /// Add-on name.
            /// </param>
            /// <param name='premierAddOn'>
            /// A JSON representation of the edited premier add-on.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// update the named add-on for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<PremierAddOn> AddPremierAddOnSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName, PremierAddOn premierAddOn, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.AddPremierAddOnSlotWithHttpMessagesAsync(resourceGroupName, name, premierAddOnName, premierAddOn, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Delete a premier add-on from an app.
            /// </summary>
            /// <remarks>
            /// Description for Delete a premier add-on from an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='premierAddOnName'>
            /// Add-on name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// delete the named add-on for the production slot.
            /// </param>
            public static void DeletePremierAddOnSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName, string slot)
            {
                operations.DeletePremierAddOnSlotAsync(resourceGroupName, name, premierAddOnName, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Delete a premier add-on from an app.
            /// </summary>
            /// <remarks>
            /// Description for Delete a premier add-on from an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='premierAddOnName'>
            /// Add-on name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// delete the named add-on for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeletePremierAddOnSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeletePremierAddOnSlotWithHttpMessagesAsync(resourceGroupName, name, premierAddOnName, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Updates a named add-on of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates a named add-on of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='premierAddOnName'>
            /// Add-on name.
            /// </param>
            /// <param name='premierAddOn'>
            /// A JSON representation of the edited premier add-on.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// update the named add-on for the production slot.
            /// </param>
            public static PremierAddOn UpdatePremierAddOnSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName, PremierAddOnPatchResource premierAddOn, string slot)
            {
                return operations.UpdatePremierAddOnSlotAsync(resourceGroupName, name, premierAddOnName, premierAddOn, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Updates a named add-on of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates a named add-on of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='premierAddOnName'>
            /// Add-on name.
            /// </param>
            /// <param name='premierAddOn'>
            /// A JSON representation of the edited premier add-on.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// update the named add-on for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<PremierAddOn> UpdatePremierAddOnSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string premierAddOnName, PremierAddOnPatchResource premierAddOn, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdatePremierAddOnSlotWithHttpMessagesAsync(resourceGroupName, name, premierAddOnName, premierAddOn, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets data around private site access enablement and authorized Virtual
            /// Networks that can access the site.
            /// </summary>
            /// <remarks>
            /// Description for Gets data around private site access enablement and
            /// authorized Virtual Networks that can access the site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='slot'>
            /// The name of the slot for the web app.
            /// </param>
            public static PrivateAccess GetPrivateAccessSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.GetPrivateAccessSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets data around private site access enablement and authorized Virtual
            /// Networks that can access the site.
            /// </summary>
            /// <remarks>
            /// Description for Gets data around private site access enablement and
            /// authorized Virtual Networks that can access the site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='slot'>
            /// The name of the slot for the web app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<PrivateAccess> GetPrivateAccessSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetPrivateAccessSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Sets data around private site access enablement and authorized Virtual
            /// Networks that can access the site.
            /// </summary>
            /// <remarks>
            /// Description for Sets data around private site access enablement and
            /// authorized Virtual Networks that can access the site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='access'>
            /// The information for the private access
            /// </param>
            /// <param name='slot'>
            /// The name of the slot for the web app.
            /// </param>
            public static PrivateAccess PutPrivateAccessVnetSlot(this IWebAppsOperations operations, string resourceGroupName, string name, PrivateAccess access, string slot)
            {
                return operations.PutPrivateAccessVnetSlotAsync(resourceGroupName, name, access, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Sets data around private site access enablement and authorized Virtual
            /// Networks that can access the site.
            /// </summary>
            /// <remarks>
            /// Description for Sets data around private site access enablement and
            /// authorized Virtual Networks that can access the site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='access'>
            /// The information for the private access
            /// </param>
            /// <param name='slot'>
            /// The name of the slot for the web app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<PrivateAccess> PutPrivateAccessVnetSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, PrivateAccess access, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.PutPrivateAccessVnetSlotWithHttpMessagesAsync(resourceGroupName, name, access, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the list of private endpoint connections associated with a site
            /// </summary>
            /// <remarks>
            /// Description for Gets the list of private endpoint connections associated
            /// with a site
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the site.
            /// </param>
            /// <param name='slot'>
            /// Name of the site deployment slot.
            /// </param>
            public static IPage<RemotePrivateEndpointConnectionARMResource> GetPrivateEndpointConnectionListSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.GetPrivateEndpointConnectionListSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the list of private endpoint connections associated with a site
            /// </summary>
            /// <remarks>
            /// Description for Gets the list of private endpoint connections associated
            /// with a site
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the site.
            /// </param>
            /// <param name='slot'>
            /// Name of the site deployment slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<RemotePrivateEndpointConnectionARMResource>> GetPrivateEndpointConnectionListSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetPrivateEndpointConnectionListSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets a private endpoint connection
            /// </summary>
            /// <remarks>
            /// Description for Gets a private endpoint connection
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the site.
            /// </param>
            /// <param name='privateEndpointConnectionName'>
            /// Name of the private endpoint connection.
            /// </param>
            /// <param name='slot'>
            /// Name of the site deployment slot.
            /// </param>
            public static RemotePrivateEndpointConnectionARMResource GetPrivateEndpointConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string privateEndpointConnectionName, string slot)
            {
                return operations.GetPrivateEndpointConnectionSlotAsync(resourceGroupName, name, privateEndpointConnectionName, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets a private endpoint connection
            /// </summary>
            /// <remarks>
            /// Description for Gets a private endpoint connection
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the site.
            /// </param>
            /// <param name='privateEndpointConnectionName'>
            /// Name of the private endpoint connection.
            /// </param>
            /// <param name='slot'>
            /// Name of the site deployment slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<RemotePrivateEndpointConnectionARMResource> GetPrivateEndpointConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string privateEndpointConnectionName, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetPrivateEndpointConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, privateEndpointConnectionName, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Approves or rejects a private endpoint connection
            /// </summary>
            /// <remarks>
            /// Description for Approves or rejects a private endpoint connection
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the site.
            /// </param>
            /// <param name='privateEndpointConnectionName'>
            /// </param>
            /// <param name='privateEndpointWrapper'>
            /// </param>
            /// <param name='slot'>
            /// </param>
            public static RemotePrivateEndpointConnectionARMResource ApproveOrRejectPrivateEndpointConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string privateEndpointConnectionName, PrivateLinkConnectionApprovalRequestResource privateEndpointWrapper, string slot)
            {
                return operations.ApproveOrRejectPrivateEndpointConnectionSlotAsync(resourceGroupName, name, privateEndpointConnectionName, privateEndpointWrapper, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Approves or rejects a private endpoint connection
            /// </summary>
            /// <remarks>
            /// Description for Approves or rejects a private endpoint connection
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the site.
            /// </param>
            /// <param name='privateEndpointConnectionName'>
            /// </param>
            /// <param name='privateEndpointWrapper'>
            /// </param>
            /// <param name='slot'>
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<RemotePrivateEndpointConnectionARMResource> ApproveOrRejectPrivateEndpointConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string privateEndpointConnectionName, PrivateLinkConnectionApprovalRequestResource privateEndpointWrapper, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ApproveOrRejectPrivateEndpointConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, privateEndpointConnectionName, privateEndpointWrapper, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Deletes a private endpoint connection
            /// </summary>
            /// <remarks>
            /// Description for Deletes a private endpoint connection
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the site.
            /// </param>
            /// <param name='privateEndpointConnectionName'>
            /// </param>
            /// <param name='slot'>
            /// </param>
            public static object DeletePrivateEndpointConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string privateEndpointConnectionName, string slot)
            {
                return operations.DeletePrivateEndpointConnectionSlotAsync(resourceGroupName, name, privateEndpointConnectionName, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Deletes a private endpoint connection
            /// </summary>
            /// <remarks>
            /// Description for Deletes a private endpoint connection
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the site.
            /// </param>
            /// <param name='privateEndpointConnectionName'>
            /// </param>
            /// <param name='slot'>
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<object> DeletePrivateEndpointConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string privateEndpointConnectionName, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.DeletePrivateEndpointConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, privateEndpointConnectionName, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the private link resources
            /// </summary>
            /// <remarks>
            /// Description for Gets the private link resources
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the site.
            /// </param>
            /// <param name='slot'>
            /// </param>
            public static PrivateLinkResourcesWrapper GetPrivateLinkResourcesSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.GetPrivateLinkResourcesSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the private link resources
            /// </summary>
            /// <remarks>
            /// Description for Gets the private link resources
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the site.
            /// </param>
            /// <param name='slot'>
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<PrivateLinkResourcesWrapper> GetPrivateLinkResourcesSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetPrivateLinkResourcesSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get list of processes for a web site, or a deployment slot, or for a
            /// specific scaled-out instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for Get list of processes for a web site, or a deployment slot,
            /// or for a specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            public static IPage<ProcessInfo> ListProcessesSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.ListProcessesSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get list of processes for a web site, or a deployment slot, or for a
            /// specific scaled-out instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for Get list of processes for a web site, or a deployment slot,
            /// or for a specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ProcessInfo>> ListProcessesSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListProcessesSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get process information by its ID for a specific scaled-out instance in a
            /// web site.
            /// </summary>
            /// <remarks>
            /// Description for Get process information by its ID for a specific scaled-out
            /// instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            public static ProcessInfo GetProcessSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string slot)
            {
                return operations.GetProcessSlotAsync(resourceGroupName, name, processId, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get process information by its ID for a specific scaled-out instance in a
            /// web site.
            /// </summary>
            /// <remarks>
            /// Description for Get process information by its ID for a specific scaled-out
            /// instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<ProcessInfo> GetProcessSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetProcessSlotWithHttpMessagesAsync(resourceGroupName, name, processId, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Terminate a process by its ID for a web site, or a deployment slot, or
            /// specific scaled-out instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for Terminate a process by its ID for a web site, or a
            /// deployment slot, or specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            public static void DeleteProcessSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string slot)
            {
                operations.DeleteProcessSlotAsync(resourceGroupName, name, processId, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Terminate a process by its ID for a web site, or a deployment slot, or
            /// specific scaled-out instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for Terminate a process by its ID for a web site, or a
            /// deployment slot, or specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteProcessSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteProcessSlotWithHttpMessagesAsync(resourceGroupName, name, processId, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Get a memory dump of a process by its ID for a specific scaled-out instance
            /// in a web site.
            /// </summary>
            /// <remarks>
            /// Description for Get a memory dump of a process by its ID for a specific
            /// scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            public static Stream GetProcessDumpSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string slot)
            {
                return operations.GetProcessDumpSlotAsync(resourceGroupName, name, processId, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get a memory dump of a process by its ID for a specific scaled-out instance
            /// in a web site.
            /// </summary>
            /// <remarks>
            /// Description for Get a memory dump of a process by its ID for a specific
            /// scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<Stream> GetProcessDumpSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                var _result = await operations.GetProcessDumpSlotWithHttpMessagesAsync(resourceGroupName, name, processId, slot, null, cancellationToken).ConfigureAwait(false);
                _result.Request.Dispose();
                return _result.Body;
            }
 
            /// <summary>
            /// List module information for a process by its ID for a specific scaled-out
            /// instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for List module information for a process by its ID for a
            /// specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            public static IPage<ProcessModuleInfo> ListProcessModulesSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string slot)
            {
                return operations.ListProcessModulesSlotAsync(resourceGroupName, name, processId, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List module information for a process by its ID for a specific scaled-out
            /// instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for List module information for a process by its ID for a
            /// specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ProcessModuleInfo>> ListProcessModulesSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListProcessModulesSlotWithHttpMessagesAsync(resourceGroupName, name, processId, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get process information by its ID for a specific scaled-out instance in a
            /// web site.
            /// </summary>
            /// <remarks>
            /// Description for Get process information by its ID for a specific scaled-out
            /// instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='baseAddress'>
            /// Module base address.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            public static ProcessModuleInfo GetProcessModuleSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string baseAddress, string slot)
            {
                return operations.GetProcessModuleSlotAsync(resourceGroupName, name, processId, baseAddress, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get process information by its ID for a specific scaled-out instance in a
            /// web site.
            /// </summary>
            /// <remarks>
            /// Description for Get process information by its ID for a specific scaled-out
            /// instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='baseAddress'>
            /// Module base address.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<ProcessModuleInfo> GetProcessModuleSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string baseAddress, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetProcessModuleSlotWithHttpMessagesAsync(resourceGroupName, name, processId, baseAddress, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// List the threads in a process by its ID for a specific scaled-out instance
            /// in a web site.
            /// </summary>
            /// <remarks>
            /// Description for List the threads in a process by its ID for a specific
            /// scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            public static IPage<ProcessThreadInfo> ListProcessThreadsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string slot)
            {
                return operations.ListProcessThreadsSlotAsync(resourceGroupName, name, processId, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List the threads in a process by its ID for a specific scaled-out instance
            /// in a web site.
            /// </summary>
            /// <remarks>
            /// Description for List the threads in a process by its ID for a specific
            /// scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='processId'>
            /// PID.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ProcessThreadInfo>> ListProcessThreadsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string processId, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListProcessThreadsSlotWithHttpMessagesAsync(resourceGroupName, name, processId, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get public certificates for an app or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get public certificates for an app or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API gets
            /// hostname bindings for the production slot.
            /// </param>
            public static IPage<PublicCertificate> ListPublicCertificatesSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.ListPublicCertificatesSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get public certificates for an app or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get public certificates for an app or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API gets
            /// hostname bindings for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<PublicCertificate>> ListPublicCertificatesSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListPublicCertificatesSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get the named public certificate for an app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Get the named public certificate for an app (or deployment
            /// slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API the named
            /// binding for the production slot.
            /// </param>
            /// <param name='publicCertificateName'>
            /// Public certificate name.
            /// </param>
            public static PublicCertificate GetPublicCertificateSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string publicCertificateName)
            {
                return operations.GetPublicCertificateSlotAsync(resourceGroupName, name, slot, publicCertificateName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get the named public certificate for an app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Get the named public certificate for an app (or deployment
            /// slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API the named
            /// binding for the production slot.
            /// </param>
            /// <param name='publicCertificateName'>
            /// Public certificate name.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<PublicCertificate> GetPublicCertificateSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string publicCertificateName, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetPublicCertificateSlotWithHttpMessagesAsync(resourceGroupName, name, slot, publicCertificateName, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Creates a hostname binding for an app.
            /// </summary>
            /// <remarks>
            /// Description for Creates a hostname binding for an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='publicCertificateName'>
            /// Public certificate name.
            /// </param>
            /// <param name='publicCertificate'>
            /// Public certificate details. This is the JSON representation of a
            /// PublicCertificate object.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// create a binding for the production slot.
            /// </param>
            public static PublicCertificate CreateOrUpdatePublicCertificateSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string publicCertificateName, PublicCertificate publicCertificate, string slot)
            {
                return operations.CreateOrUpdatePublicCertificateSlotAsync(resourceGroupName, name, publicCertificateName, publicCertificate, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Creates a hostname binding for an app.
            /// </summary>
            /// <remarks>
            /// Description for Creates a hostname binding for an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='publicCertificateName'>
            /// Public certificate name.
            /// </param>
            /// <param name='publicCertificate'>
            /// Public certificate details. This is the JSON representation of a
            /// PublicCertificate object.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// create a binding for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<PublicCertificate> CreateOrUpdatePublicCertificateSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string publicCertificateName, PublicCertificate publicCertificate, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.CreateOrUpdatePublicCertificateSlotWithHttpMessagesAsync(resourceGroupName, name, publicCertificateName, publicCertificate, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Deletes a hostname binding for an app.
            /// </summary>
            /// <remarks>
            /// Description for Deletes a hostname binding for an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// delete the binding for the production slot.
            /// </param>
            /// <param name='publicCertificateName'>
            /// Public certificate name.
            /// </param>
            public static void DeletePublicCertificateSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string publicCertificateName)
            {
                operations.DeletePublicCertificateSlotAsync(resourceGroupName, name, slot, publicCertificateName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Deletes a hostname binding for an app.
            /// </summary>
            /// <remarks>
            /// Description for Deletes a hostname binding for an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// delete the binding for the production slot.
            /// </param>
            /// <param name='publicCertificateName'>
            /// Public certificate name.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeletePublicCertificateSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string publicCertificateName, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeletePublicCertificateSlotWithHttpMessagesAsync(resourceGroupName, name, slot, publicCertificateName, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Gets the publishing profile for an app (or deployment slot, if specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets the publishing profile for an app (or deployment slot,
            /// if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='publishingProfileOptions'>
            /// Specifies publishingProfileOptions for publishing profile. For example, use
            /// {"format": "FileZilla3"} to get a FileZilla publishing profile.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// the publishing profile for the production slot.
            /// </param>
            public static Stream ListPublishingProfileXmlWithSecretsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, CsmPublishingProfileOptions publishingProfileOptions, string slot)
            {
                return operations.ListPublishingProfileXmlWithSecretsSlotAsync(resourceGroupName, name, publishingProfileOptions, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the publishing profile for an app (or deployment slot, if specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets the publishing profile for an app (or deployment slot,
            /// if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='publishingProfileOptions'>
            /// Specifies publishingProfileOptions for publishing profile. For example, use
            /// {"format": "FileZilla3"} to get a FileZilla publishing profile.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// the publishing profile for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<Stream> ListPublishingProfileXmlWithSecretsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmPublishingProfileOptions publishingProfileOptions, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                var _result = await operations.ListPublishingProfileXmlWithSecretsSlotWithHttpMessagesAsync(resourceGroupName, name, publishingProfileOptions, slot, null, cancellationToken).ConfigureAwait(false);
                _result.Request.Dispose();
                return _result.Body;
            }
 
            /// <summary>
            /// Resets the configuration settings of the current slot if they were
            /// previously modified by calling the API with POST.
            /// </summary>
            /// <remarks>
            /// Description for Resets the configuration settings of the current slot if
            /// they were previously modified by calling the API with POST.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API resets
            /// configuration settings for the production slot.
            /// </param>
            public static void ResetSlotConfigurationSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                operations.ResetSlotConfigurationSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Resets the configuration settings of the current slot if they were
            /// previously modified by calling the API with POST.
            /// </summary>
            /// <remarks>
            /// Description for Resets the configuration settings of the current slot if
            /// they were previously modified by calling the API with POST.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API resets
            /// configuration settings for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task ResetSlotConfigurationSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.ResetSlotConfigurationSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Restarts an app (or deployment slot, if specified).
            /// </summary>
            /// <remarks>
            /// Description for Restarts an app (or deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// restart the production slot.
            /// </param>
            /// <param name='softRestart'>
            /// Specify true to apply the configuration settings and restarts the app only
            /// if necessary. By default, the API always restarts and reprovisions the app.
            /// </param>
            /// <param name='synchronous'>
            /// Specify true to block until the app is restarted. By default, it is set to
            /// false, and the API responds immediately (asynchronous).
            /// </param>
            public static void RestartSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, bool? softRestart = default(bool?), bool? synchronous = default(bool?))
            {
                operations.RestartSlotAsync(resourceGroupName, name, slot, softRestart, synchronous).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Restarts an app (or deployment slot, if specified).
            /// </summary>
            /// <remarks>
            /// Description for Restarts an app (or deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// restart the production slot.
            /// </param>
            /// <param name='softRestart'>
            /// Specify true to apply the configuration settings and restarts the app only
            /// if necessary. By default, the API always restarts and reprovisions the app.
            /// </param>
            /// <param name='synchronous'>
            /// Specify true to block until the app is restarted. By default, it is set to
            /// false, and the API responds immediately (asynchronous).
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task RestartSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, bool? softRestart = default(bool?), bool? synchronous = default(bool?), CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.RestartSlotWithHttpMessagesAsync(resourceGroupName, name, slot, softRestart, synchronous, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Restores an app from a backup blob in Azure Storage.
            /// </summary>
            /// <remarks>
            /// Description for Restores an app from a backup blob in Azure Storage.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='request'>
            /// Information on restore request .
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// restore a backup of the production slot.
            /// </param>
            public static void RestoreFromBackupBlobSlot(this IWebAppsOperations operations, string resourceGroupName, string name, RestoreRequest request, string slot)
            {
                operations.RestoreFromBackupBlobSlotAsync(resourceGroupName, name, request, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Restores an app from a backup blob in Azure Storage.
            /// </summary>
            /// <remarks>
            /// Description for Restores an app from a backup blob in Azure Storage.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='request'>
            /// Information on restore request .
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// restore a backup of the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task RestoreFromBackupBlobSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, RestoreRequest request, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.RestoreFromBackupBlobSlotWithHttpMessagesAsync(resourceGroupName, name, request, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Restores a deleted web app to this web app.
            /// </summary>
            /// <remarks>
            /// Description for Restores a deleted web app to this web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='restoreRequest'>
            /// Deleted web app restore information.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            public static void RestoreFromDeletedAppSlot(this IWebAppsOperations operations, string resourceGroupName, string name, DeletedAppRestoreRequest restoreRequest, string slot)
            {
                operations.RestoreFromDeletedAppSlotAsync(resourceGroupName, name, restoreRequest, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Restores a deleted web app to this web app.
            /// </summary>
            /// <remarks>
            /// Description for Restores a deleted web app to this web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='restoreRequest'>
            /// Deleted web app restore information.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task RestoreFromDeletedAppSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, DeletedAppRestoreRequest restoreRequest, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.RestoreFromDeletedAppSlotWithHttpMessagesAsync(resourceGroupName, name, restoreRequest, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Restores a web app from a snapshot.
            /// </summary>
            /// <remarks>
            /// Description for Restores a web app from a snapshot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='restoreRequest'>
            /// Snapshot restore settings. Snapshot information can be obtained by calling
            /// GetDeletedSites or GetSiteSnapshots API.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            public static void RestoreSnapshotSlot(this IWebAppsOperations operations, string resourceGroupName, string name, SnapshotRestoreRequest restoreRequest, string slot)
            {
                operations.RestoreSnapshotSlotAsync(resourceGroupName, name, restoreRequest, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Restores a web app from a snapshot.
            /// </summary>
            /// <remarks>
            /// Description for Restores a web app from a snapshot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='restoreRequest'>
            /// Snapshot restore settings. Snapshot information can be obtained by calling
            /// GetDeletedSites or GetSiteSnapshots API.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task RestoreSnapshotSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SnapshotRestoreRequest restoreRequest, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.RestoreSnapshotSlotWithHttpMessagesAsync(resourceGroupName, name, restoreRequest, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Get list of siteextensions for a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get list of siteextensions for a web site, or a deployment
            /// slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API uses the
            /// production slot.
            /// </param>
            public static IPage<SiteExtensionInfo> ListSiteExtensionsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.ListSiteExtensionsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get list of siteextensions for a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get list of siteextensions for a web site, or a deployment
            /// slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API uses the
            /// production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<SiteExtensionInfo>> ListSiteExtensionsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListSiteExtensionsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get site extension information by its ID for a web site, or a deployment
            /// slot.
            /// </summary>
            /// <remarks>
            /// Description for Get site extension information by its ID for a web site, or
            /// a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='siteExtensionId'>
            /// Site extension name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API uses the
            /// production slot.
            /// </param>
            public static SiteExtensionInfo GetSiteExtensionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string siteExtensionId, string slot)
            {
                return operations.GetSiteExtensionSlotAsync(resourceGroupName, name, siteExtensionId, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get site extension information by its ID for a web site, or a deployment
            /// slot.
            /// </summary>
            /// <remarks>
            /// Description for Get site extension information by its ID for a web site, or
            /// a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='siteExtensionId'>
            /// Site extension name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API uses the
            /// production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteExtensionInfo> GetSiteExtensionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string siteExtensionId, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetSiteExtensionSlotWithHttpMessagesAsync(resourceGroupName, name, siteExtensionId, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Install site extension on a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Install site extension on a web site, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='siteExtensionId'>
            /// Site extension name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API uses the
            /// production slot.
            /// </param>
            public static SiteExtensionInfo InstallSiteExtensionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string siteExtensionId, string slot)
            {
                return operations.InstallSiteExtensionSlotAsync(resourceGroupName, name, siteExtensionId, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Install site extension on a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Install site extension on a web site, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='siteExtensionId'>
            /// Site extension name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API uses the
            /// production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteExtensionInfo> InstallSiteExtensionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string siteExtensionId, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.InstallSiteExtensionSlotWithHttpMessagesAsync(resourceGroupName, name, siteExtensionId, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Remove a site extension from a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Remove a site extension from a web site, or a deployment
            /// slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='siteExtensionId'>
            /// Site extension name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API deletes a
            /// deployment for the production slot.
            /// </param>
            public static void DeleteSiteExtensionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string siteExtensionId, string slot)
            {
                operations.DeleteSiteExtensionSlotAsync(resourceGroupName, name, siteExtensionId, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Remove a site extension from a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Remove a site extension from a web site, or a deployment
            /// slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='siteExtensionId'>
            /// Site extension name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API deletes a
            /// deployment for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteSiteExtensionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string siteExtensionId, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteSiteExtensionSlotWithHttpMessagesAsync(resourceGroupName, name, siteExtensionId, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Get the difference in configuration settings between two web app slots.
            /// </summary>
            /// <remarks>
            /// Description for Get the difference in configuration settings between two
            /// web app slots.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slotSwapEntity'>
            /// JSON object that contains the target slot name. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the source slot. If a slot is not specified, the production slot is
            /// used as the source slot.
            /// </param>
            public static IPage<SlotDifference> ListSlotDifferencesSlot(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot)
            {
                return operations.ListSlotDifferencesSlotAsync(resourceGroupName, name, slotSwapEntity, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get the difference in configuration settings between two web app slots.
            /// </summary>
            /// <remarks>
            /// Description for Get the difference in configuration settings between two
            /// web app slots.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slotSwapEntity'>
            /// JSON object that contains the target slot name. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the source slot. If a slot is not specified, the production slot is
            /// used as the source slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<SlotDifference>> ListSlotDifferencesSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListSlotDifferencesSlotWithHttpMessagesAsync(resourceGroupName, name, slotSwapEntity, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Swaps two deployment slots of an app.
            /// </summary>
            /// <remarks>
            /// Description for Swaps two deployment slots of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slotSwapEntity'>
            /// JSON object that contains the target slot name. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the source slot. If a slot is not specified, the production slot is
            /// used as the source slot.
            /// </param>
            public static void SwapSlotSlot(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot)
            {
                operations.SwapSlotSlotAsync(resourceGroupName, name, slotSwapEntity, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Swaps two deployment slots of an app.
            /// </summary>
            /// <remarks>
            /// Description for Swaps two deployment slots of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slotSwapEntity'>
            /// JSON object that contains the target slot name. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the source slot. If a slot is not specified, the production slot is
            /// used as the source slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task SwapSlotSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.SwapSlotSlotWithHttpMessagesAsync(resourceGroupName, name, slotSwapEntity, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Returns all Snapshots to the user.
            /// </summary>
            /// <remarks>
            /// Description for Returns all Snapshots to the user.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Website Name.
            /// </param>
            /// <param name='slot'>
            /// Website Slot.
            /// </param>
            public static IPage<Snapshot> ListSnapshotsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.ListSnapshotsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Returns all Snapshots to the user.
            /// </summary>
            /// <remarks>
            /// Description for Returns all Snapshots to the user.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Website Name.
            /// </param>
            /// <param name='slot'>
            /// Website Slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<Snapshot>> ListSnapshotsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListSnapshotsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Returns all Snapshots to the user from DRSecondary endpoint.
            /// </summary>
            /// <remarks>
            /// Description for Returns all Snapshots to the user from DRSecondary
            /// endpoint.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Website Name.
            /// </param>
            /// <param name='slot'>
            /// Website Slot.
            /// </param>
            public static IPage<Snapshot> ListSnapshotsFromDRSecondarySlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.ListSnapshotsFromDRSecondarySlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Returns all Snapshots to the user from DRSecondary endpoint.
            /// </summary>
            /// <remarks>
            /// Description for Returns all Snapshots to the user from DRSecondary
            /// endpoint.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Website Name.
            /// </param>
            /// <param name='slot'>
            /// Website Slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<Snapshot>> ListSnapshotsFromDRSecondarySlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListSnapshotsFromDRSecondarySlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the source control configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the source control configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// the source control configuration for the production slot.
            /// </param>
            public static SiteSourceControl GetSourceControlSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.GetSourceControlSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the source control configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the source control configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// the source control configuration for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteSourceControl> GetSourceControlSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetSourceControlSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Updates the source control configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the source control configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='siteSourceControl'>
            /// JSON representation of a SiteSourceControl object. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// update the source control configuration for the production slot.
            /// </param>
            public static SiteSourceControl CreateOrUpdateSourceControlSlot(this IWebAppsOperations operations, string resourceGroupName, string name, SiteSourceControl siteSourceControl, string slot)
            {
                return operations.CreateOrUpdateSourceControlSlotAsync(resourceGroupName, name, siteSourceControl, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Updates the source control configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the source control configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='siteSourceControl'>
            /// JSON representation of a SiteSourceControl object. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// update the source control configuration for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteSourceControl> CreateOrUpdateSourceControlSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SiteSourceControl siteSourceControl, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.CreateOrUpdateSourceControlSlotWithHttpMessagesAsync(resourceGroupName, name, siteSourceControl, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Deletes the source control configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Deletes the source control configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// delete the source control configuration for the production slot.
            /// </param>
            /// <param name='additionalFlags'>
            /// </param>
            public static void DeleteSourceControlSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string additionalFlags = default(string))
            {
                operations.DeleteSourceControlSlotAsync(resourceGroupName, name, slot, additionalFlags).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Deletes the source control configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Deletes the source control configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// delete the source control configuration for the production slot.
            /// </param>
            /// <param name='additionalFlags'>
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteSourceControlSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string additionalFlags = default(string), CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteSourceControlSlotWithHttpMessagesAsync(resourceGroupName, name, slot, additionalFlags, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Updates the source control configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the source control configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='siteSourceControl'>
            /// JSON representation of a SiteSourceControl object. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// update the source control configuration for the production slot.
            /// </param>
            public static SiteSourceControl UpdateSourceControlSlot(this IWebAppsOperations operations, string resourceGroupName, string name, SiteSourceControl siteSourceControl, string slot)
            {
                return operations.UpdateSourceControlSlotAsync(resourceGroupName, name, siteSourceControl, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Updates the source control configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the source control configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='siteSourceControl'>
            /// JSON representation of a SiteSourceControl object. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// update the source control configuration for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteSourceControl> UpdateSourceControlSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SiteSourceControl siteSourceControl, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateSourceControlSlotWithHttpMessagesAsync(resourceGroupName, name, siteSourceControl, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Starts an app (or deployment slot, if specified).
            /// </summary>
            /// <remarks>
            /// Description for Starts an app (or deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will start
            /// the production slot.
            /// </param>
            public static void StartSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                operations.StartSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Starts an app (or deployment slot, if specified).
            /// </summary>
            /// <remarks>
            /// Description for Starts an app (or deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will start
            /// the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task StartSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.StartSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Start capturing network packets for the site.
            /// </summary>
            /// <remarks>
            /// Description for Start capturing network packets for the site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='slot'>
            /// The name of the slot for this web app.
            /// </param>
            /// <param name='durationInSeconds'>
            /// The duration to keep capturing in seconds.
            /// </param>
            /// <param name='maxFrameLength'>
            /// The maximum frame length in bytes (Optional).
            /// </param>
            /// <param name='sasUrl'>
            /// The Blob URL to store capture file.
            /// </param>
            public static IList<NetworkTrace> StartNetworkTraceSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, int? durationInSeconds = default(int?), int? maxFrameLength = default(int?), string sasUrl = default(string))
            {
                return operations.StartNetworkTraceSlotAsync(resourceGroupName, name, slot, durationInSeconds, maxFrameLength, sasUrl).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Start capturing network packets for the site.
            /// </summary>
            /// <remarks>
            /// Description for Start capturing network packets for the site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='slot'>
            /// The name of the slot for this web app.
            /// </param>
            /// <param name='durationInSeconds'>
            /// The duration to keep capturing in seconds.
            /// </param>
            /// <param name='maxFrameLength'>
            /// The maximum frame length in bytes (Optional).
            /// </param>
            /// <param name='sasUrl'>
            /// The Blob URL to store capture file.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IList<NetworkTrace>> StartNetworkTraceSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, int? durationInSeconds = default(int?), int? maxFrameLength = default(int?), string sasUrl = default(string), CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.StartNetworkTraceSlotWithHttpMessagesAsync(resourceGroupName, name, slot, durationInSeconds, maxFrameLength, sasUrl, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Stops an app (or deployment slot, if specified).
            /// </summary>
            /// <remarks>
            /// Description for Stops an app (or deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will stop
            /// the production slot.
            /// </param>
            public static void StopSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                operations.StopSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Stops an app (or deployment slot, if specified).
            /// </summary>
            /// <remarks>
            /// Description for Stops an app (or deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will stop
            /// the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task StopSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.StopSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Stop ongoing capturing network packets for the site.
            /// </summary>
            /// <remarks>
            /// Description for Stop ongoing capturing network packets for the site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='slot'>
            /// The name of the slot for this web app.
            /// </param>
            public static void StopNetworkTraceSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                operations.StopNetworkTraceSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Stop ongoing capturing network packets for the site.
            /// </summary>
            /// <remarks>
            /// Description for Stop ongoing capturing network packets for the site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='slot'>
            /// The name of the slot for this web app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task StopNetworkTraceSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.StopNetworkTraceSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Sync web app repository.
            /// </summary>
            /// <remarks>
            /// Description for Sync web app repository.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            public static void SyncRepositorySlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                operations.SyncRepositorySlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Sync web app repository.
            /// </summary>
            /// <remarks>
            /// Description for Sync web app repository.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task SyncRepositorySlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.SyncRepositorySlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Syncs function trigger metadata to the management database
            /// </summary>
            /// <remarks>
            /// Description for Syncs function trigger metadata to the management database
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot.
            /// </param>
            public static void SyncFunctionTriggersSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                operations.SyncFunctionTriggersSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Syncs function trigger metadata to the management database
            /// </summary>
            /// <remarks>
            /// Description for Syncs function trigger metadata to the management database
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task SyncFunctionTriggersSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.SyncFunctionTriggersSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// List triggered web jobs for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List triggered web jobs for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API deletes a
            /// deployment for the production slot.
            /// </param>
            public static IPage<TriggeredWebJob> ListTriggeredWebJobsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.ListTriggeredWebJobsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List triggered web jobs for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List triggered web jobs for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API deletes a
            /// deployment for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<TriggeredWebJob>> ListTriggeredWebJobsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListTriggeredWebJobsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets a triggered web job by its ID for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Gets a triggered web job by its ID for an app, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API uses the
            /// production slot.
            /// </param>
            public static TriggeredWebJob GetTriggeredWebJobSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName, string slot)
            {
                return operations.GetTriggeredWebJobSlotAsync(resourceGroupName, name, webJobName, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets a triggered web job by its ID for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Gets a triggered web job by its ID for an app, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API uses the
            /// production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<TriggeredWebJob> GetTriggeredWebJobSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetTriggeredWebJobSlotWithHttpMessagesAsync(resourceGroupName, name, webJobName, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Delete a triggered web job by its ID for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Delete a triggered web job by its ID for an app, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API deletes
            /// web job for the production slot.
            /// </param>
            public static void DeleteTriggeredWebJobSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName, string slot)
            {
                operations.DeleteTriggeredWebJobSlotAsync(resourceGroupName, name, webJobName, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Delete a triggered web job by its ID for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Delete a triggered web job by its ID for an app, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API deletes
            /// web job for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteTriggeredWebJobSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteTriggeredWebJobSlotWithHttpMessagesAsync(resourceGroupName, name, webJobName, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// List a triggered web job's history for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List a triggered web job's history for an app, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API uses the
            /// production slot.
            /// </param>
            public static IPage<TriggeredJobHistory> ListTriggeredWebJobHistorySlot(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName, string slot)
            {
                return operations.ListTriggeredWebJobHistorySlotAsync(resourceGroupName, name, webJobName, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List a triggered web job's history for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List a triggered web job's history for an app, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API uses the
            /// production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<TriggeredJobHistory>> ListTriggeredWebJobHistorySlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListTriggeredWebJobHistorySlotWithHttpMessagesAsync(resourceGroupName, name, webJobName, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets a triggered web job's history by its ID for an app, , or a deployment
            /// slot.
            /// </summary>
            /// <remarks>
            /// Description for Gets a triggered web job's history by its ID for an app, ,
            /// or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            /// <param name='id'>
            /// History ID.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API uses the
            /// production slot.
            /// </param>
            public static TriggeredJobHistory GetTriggeredWebJobHistorySlot(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName, string id, string slot)
            {
                return operations.GetTriggeredWebJobHistorySlotAsync(resourceGroupName, name, webJobName, id, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets a triggered web job's history by its ID for an app, , or a deployment
            /// slot.
            /// </summary>
            /// <remarks>
            /// Description for Gets a triggered web job's history by its ID for an app, ,
            /// or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            /// <param name='id'>
            /// History ID.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API uses the
            /// production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<TriggeredJobHistory> GetTriggeredWebJobHistorySlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName, string id, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetTriggeredWebJobHistorySlotWithHttpMessagesAsync(resourceGroupName, name, webJobName, id, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Run a triggered web job for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Run a triggered web job for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API uses the
            /// production slot.
            /// </param>
            public static void RunTriggeredWebJobSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName, string slot)
            {
                operations.RunTriggeredWebJobSlotAsync(resourceGroupName, name, webJobName, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Run a triggered web job for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Run a triggered web job for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API uses the
            /// production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task RunTriggeredWebJobSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.RunTriggeredWebJobSlotWithHttpMessagesAsync(resourceGroupName, name, webJobName, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Gets the quota usage information of an app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets the quota usage information of an app (or deployment
            /// slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// quota information of the production slot.
            /// </param>
            /// <param name='filter'>
            /// Return only information specified in the filter (using OData syntax). For
            /// example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and
            /// startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and
            /// timeGrain eq duration'[Hour|Minute|Day]'.
            /// </param>
            public static IPage<CsmUsageQuota> ListUsagesSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string filter = default(string))
            {
                return operations.ListUsagesSlotAsync(resourceGroupName, name, slot, filter).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the quota usage information of an app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets the quota usage information of an app (or deployment
            /// slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// quota information of the production slot.
            /// </param>
            /// <param name='filter'>
            /// Return only information specified in the filter (using OData syntax). For
            /// example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and
            /// startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and
            /// timeGrain eq duration'[Hour|Minute|Day]'.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<CsmUsageQuota>> ListUsagesSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string filter = default(string), CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListUsagesSlotWithHttpMessagesAsync(resourceGroupName, name, slot, filter, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the virtual networks the app (or deployment slot) is connected to.
            /// </summary>
            /// <remarks>
            /// Description for Gets the virtual networks the app (or deployment slot) is
            /// connected to.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// virtual network connections for the production slot.
            /// </param>
            public static IList<VnetInfo> ListVnetConnectionsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.ListVnetConnectionsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the virtual networks the app (or deployment slot) is connected to.
            /// </summary>
            /// <remarks>
            /// Description for Gets the virtual networks the app (or deployment slot) is
            /// connected to.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// virtual network connections for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IList<VnetInfo>> ListVnetConnectionsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListVnetConnectionsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets a virtual network the app (or deployment slot) is connected to by
            /// name.
            /// </summary>
            /// <remarks>
            /// Description for Gets a virtual network the app (or deployment slot) is
            /// connected to by name.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='vnetName'>
            /// Name of the virtual network.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// the named virtual network for the production slot.
            /// </param>
            public static VnetInfo GetVnetConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string slot)
            {
                return operations.GetVnetConnectionSlotAsync(resourceGroupName, name, vnetName, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets a virtual network the app (or deployment slot) is connected to by
            /// name.
            /// </summary>
            /// <remarks>
            /// Description for Gets a virtual network the app (or deployment slot) is
            /// connected to by name.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='vnetName'>
            /// Name of the virtual network.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// the named virtual network for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<VnetInfo> GetVnetConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetVnetConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, vnetName, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Adds a Virtual Network connection to an app or slot (PUT) or updates the
            /// connection properties (PATCH).
            /// </summary>
            /// <remarks>
            /// Description for Adds a Virtual Network connection to an app or slot (PUT)
            /// or updates the connection properties (PATCH).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='vnetName'>
            /// Name of an existing Virtual Network.
            /// </param>
            /// <param name='connectionEnvelope'>
            /// Properties of the Virtual Network connection. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will add
            /// or update connections for the production slot.
            /// </param>
            public static VnetInfo CreateOrUpdateVnetConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope, string slot)
            {
                return operations.CreateOrUpdateVnetConnectionSlotAsync(resourceGroupName, name, vnetName, connectionEnvelope, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Adds a Virtual Network connection to an app or slot (PUT) or updates the
            /// connection properties (PATCH).
            /// </summary>
            /// <remarks>
            /// Description for Adds a Virtual Network connection to an app or slot (PUT)
            /// or updates the connection properties (PATCH).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='vnetName'>
            /// Name of an existing Virtual Network.
            /// </param>
            /// <param name='connectionEnvelope'>
            /// Properties of the Virtual Network connection. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will add
            /// or update connections for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<VnetInfo> CreateOrUpdateVnetConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.CreateOrUpdateVnetConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, vnetName, connectionEnvelope, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Deletes a connection from an app (or deployment slot to a named virtual
            /// network.
            /// </summary>
            /// <remarks>
            /// Description for Deletes a connection from an app (or deployment slot to a
            /// named virtual network.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='vnetName'>
            /// Name of the virtual network.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// delete the connection for the production slot.
            /// </param>
            public static void DeleteVnetConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string slot)
            {
                operations.DeleteVnetConnectionSlotAsync(resourceGroupName, name, vnetName, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Deletes a connection from an app (or deployment slot to a named virtual
            /// network.
            /// </summary>
            /// <remarks>
            /// Description for Deletes a connection from an app (or deployment slot to a
            /// named virtual network.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='vnetName'>
            /// Name of the virtual network.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// delete the connection for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteVnetConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteVnetConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, vnetName, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Adds a Virtual Network connection to an app or slot (PUT) or updates the
            /// connection properties (PATCH).
            /// </summary>
            /// <remarks>
            /// Description for Adds a Virtual Network connection to an app or slot (PUT)
            /// or updates the connection properties (PATCH).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='vnetName'>
            /// Name of an existing Virtual Network.
            /// </param>
            /// <param name='connectionEnvelope'>
            /// Properties of the Virtual Network connection. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will add
            /// or update connections for the production slot.
            /// </param>
            public static VnetInfo UpdateVnetConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope, string slot)
            {
                return operations.UpdateVnetConnectionSlotAsync(resourceGroupName, name, vnetName, connectionEnvelope, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Adds a Virtual Network connection to an app or slot (PUT) or updates the
            /// connection properties (PATCH).
            /// </summary>
            /// <remarks>
            /// Description for Adds a Virtual Network connection to an app or slot (PUT)
            /// or updates the connection properties (PATCH).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='vnetName'>
            /// Name of an existing Virtual Network.
            /// </param>
            /// <param name='connectionEnvelope'>
            /// Properties of the Virtual Network connection. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will add
            /// or update connections for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<VnetInfo> UpdateVnetConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateVnetConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, vnetName, connectionEnvelope, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets an app's Virtual Network gateway.
            /// </summary>
            /// <remarks>
            /// Description for Gets an app's Virtual Network gateway.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='vnetName'>
            /// Name of the Virtual Network.
            /// </param>
            /// <param name='gatewayName'>
            /// Name of the gateway. Currently, the only supported string is "primary".
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get a
            /// gateway for the production slot's Virtual Network.
            /// </param>
            public static VnetGateway GetVnetConnectionGatewaySlot(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName, string slot)
            {
                return operations.GetVnetConnectionGatewaySlotAsync(resourceGroupName, name, vnetName, gatewayName, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets an app's Virtual Network gateway.
            /// </summary>
            /// <remarks>
            /// Description for Gets an app's Virtual Network gateway.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='vnetName'>
            /// Name of the Virtual Network.
            /// </param>
            /// <param name='gatewayName'>
            /// Name of the gateway. Currently, the only supported string is "primary".
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get a
            /// gateway for the production slot's Virtual Network.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<VnetGateway> GetVnetConnectionGatewaySlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetVnetConnectionGatewaySlotWithHttpMessagesAsync(resourceGroupName, name, vnetName, gatewayName, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH).
            /// </summary>
            /// <remarks>
            /// Description for Adds a gateway to a connected Virtual Network (PUT) or
            /// updates it (PATCH).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='vnetName'>
            /// Name of the Virtual Network.
            /// </param>
            /// <param name='gatewayName'>
            /// Name of the gateway. Currently, the only supported string is "primary".
            /// </param>
            /// <param name='connectionEnvelope'>
            /// The properties to update this gateway with.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will add
            /// or update a gateway for the production slot's Virtual Network.
            /// </param>
            public static VnetGateway CreateOrUpdateVnetConnectionGatewaySlot(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope, string slot)
            {
                return operations.CreateOrUpdateVnetConnectionGatewaySlotAsync(resourceGroupName, name, vnetName, gatewayName, connectionEnvelope, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH).
            /// </summary>
            /// <remarks>
            /// Description for Adds a gateway to a connected Virtual Network (PUT) or
            /// updates it (PATCH).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='vnetName'>
            /// Name of the Virtual Network.
            /// </param>
            /// <param name='gatewayName'>
            /// Name of the gateway. Currently, the only supported string is "primary".
            /// </param>
            /// <param name='connectionEnvelope'>
            /// The properties to update this gateway with.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will add
            /// or update a gateway for the production slot's Virtual Network.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<VnetGateway> CreateOrUpdateVnetConnectionGatewaySlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.CreateOrUpdateVnetConnectionGatewaySlotWithHttpMessagesAsync(resourceGroupName, name, vnetName, gatewayName, connectionEnvelope, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH).
            /// </summary>
            /// <remarks>
            /// Description for Adds a gateway to a connected Virtual Network (PUT) or
            /// updates it (PATCH).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='vnetName'>
            /// Name of the Virtual Network.
            /// </param>
            /// <param name='gatewayName'>
            /// Name of the gateway. Currently, the only supported string is "primary".
            /// </param>
            /// <param name='connectionEnvelope'>
            /// The properties to update this gateway with.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will add
            /// or update a gateway for the production slot's Virtual Network.
            /// </param>
            public static VnetGateway UpdateVnetConnectionGatewaySlot(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope, string slot)
            {
                return operations.UpdateVnetConnectionGatewaySlotAsync(resourceGroupName, name, vnetName, gatewayName, connectionEnvelope, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH).
            /// </summary>
            /// <remarks>
            /// Description for Adds a gateway to a connected Virtual Network (PUT) or
            /// updates it (PATCH).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='vnetName'>
            /// Name of the Virtual Network.
            /// </param>
            /// <param name='gatewayName'>
            /// Name of the gateway. Currently, the only supported string is "primary".
            /// </param>
            /// <param name='connectionEnvelope'>
            /// The properties to update this gateway with.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will add
            /// or update a gateway for the production slot's Virtual Network.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<VnetGateway> UpdateVnetConnectionGatewaySlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateVnetConnectionGatewaySlotWithHttpMessagesAsync(resourceGroupName, name, vnetName, gatewayName, connectionEnvelope, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// List webjobs for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List webjobs for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            public static IPage<WebJob> ListWebJobsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.ListWebJobsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List webjobs for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List webjobs for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<WebJob>> ListWebJobsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListWebJobsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get webjob information for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get webjob information for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of the web job.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            public static WebJob GetWebJobSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName, string slot)
            {
                return operations.GetWebJobSlotAsync(resourceGroupName, name, webJobName, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get webjob information for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get webjob information for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of the web job.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API returns
            /// deployments for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<WebJob> GetWebJobSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetWebJobSlotWithHttpMessagesAsync(resourceGroupName, name, webJobName, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get the difference in configuration settings between two web app slots.
            /// </summary>
            /// <remarks>
            /// Description for Get the difference in configuration settings between two
            /// web app slots.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slotSwapEntity'>
            /// JSON object that contains the target slot name. See example.
            /// </param>
            public static IPage<SlotDifference> ListSlotDifferencesFromProduction(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity)
            {
                return operations.ListSlotDifferencesFromProductionAsync(resourceGroupName, name, slotSwapEntity).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get the difference in configuration settings between two web app slots.
            /// </summary>
            /// <remarks>
            /// Description for Get the difference in configuration settings between two
            /// web app slots.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slotSwapEntity'>
            /// JSON object that contains the target slot name. See example.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<SlotDifference>> ListSlotDifferencesFromProductionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListSlotDifferencesFromProductionWithHttpMessagesAsync(resourceGroupName, name, slotSwapEntity, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Swaps two deployment slots of an app.
            /// </summary>
            /// <remarks>
            /// Description for Swaps two deployment slots of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slotSwapEntity'>
            /// JSON object that contains the target slot name. See example.
            /// </param>
            public static void SwapSlotWithProduction(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity)
            {
                operations.SwapSlotWithProductionAsync(resourceGroupName, name, slotSwapEntity).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Swaps two deployment slots of an app.
            /// </summary>
            /// <remarks>
            /// Description for Swaps two deployment slots of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slotSwapEntity'>
            /// JSON object that contains the target slot name. See example.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task SwapSlotWithProductionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.SwapSlotWithProductionWithHttpMessagesAsync(resourceGroupName, name, slotSwapEntity, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Returns all Snapshots to the user.
            /// </summary>
            /// <remarks>
            /// Description for Returns all Snapshots to the user.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Website Name.
            /// </param>
            public static IPage<Snapshot> ListSnapshots(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.ListSnapshotsAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Returns all Snapshots to the user.
            /// </summary>
            /// <remarks>
            /// Description for Returns all Snapshots to the user.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Website Name.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<Snapshot>> ListSnapshotsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListSnapshotsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Returns all Snapshots to the user from DRSecondary endpoint.
            /// </summary>
            /// <remarks>
            /// Description for Returns all Snapshots to the user from DRSecondary
            /// endpoint.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Website Name.
            /// </param>
            public static IPage<Snapshot> ListSnapshotsFromDRSecondary(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.ListSnapshotsFromDRSecondaryAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Returns all Snapshots to the user from DRSecondary endpoint.
            /// </summary>
            /// <remarks>
            /// Description for Returns all Snapshots to the user from DRSecondary
            /// endpoint.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Website Name.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<Snapshot>> ListSnapshotsFromDRSecondaryAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListSnapshotsFromDRSecondaryWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the source control configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the source control configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static SiteSourceControl GetSourceControl(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.GetSourceControlAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the source control configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the source control configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteSourceControl> GetSourceControlAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetSourceControlWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Updates the source control configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the source control configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='siteSourceControl'>
            /// JSON representation of a SiteSourceControl object. See example.
            /// </param>
            public static SiteSourceControl CreateOrUpdateSourceControl(this IWebAppsOperations operations, string resourceGroupName, string name, SiteSourceControl siteSourceControl)
            {
                return operations.CreateOrUpdateSourceControlAsync(resourceGroupName, name, siteSourceControl).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Updates the source control configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the source control configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='siteSourceControl'>
            /// JSON representation of a SiteSourceControl object. See example.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteSourceControl> CreateOrUpdateSourceControlAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SiteSourceControl siteSourceControl, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.CreateOrUpdateSourceControlWithHttpMessagesAsync(resourceGroupName, name, siteSourceControl, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Deletes the source control configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Deletes the source control configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='additionalFlags'>
            /// </param>
            public static void DeleteSourceControl(this IWebAppsOperations operations, string resourceGroupName, string name, string additionalFlags = default(string))
            {
                operations.DeleteSourceControlAsync(resourceGroupName, name, additionalFlags).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Deletes the source control configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Deletes the source control configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='additionalFlags'>
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteSourceControlAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string additionalFlags = default(string), CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteSourceControlWithHttpMessagesAsync(resourceGroupName, name, additionalFlags, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Updates the source control configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the source control configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='siteSourceControl'>
            /// JSON representation of a SiteSourceControl object. See example.
            /// </param>
            public static SiteSourceControl UpdateSourceControl(this IWebAppsOperations operations, string resourceGroupName, string name, SiteSourceControl siteSourceControl)
            {
                return operations.UpdateSourceControlAsync(resourceGroupName, name, siteSourceControl).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Updates the source control configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the source control configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='siteSourceControl'>
            /// JSON representation of a SiteSourceControl object. See example.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteSourceControl> UpdateSourceControlAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SiteSourceControl siteSourceControl, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateSourceControlWithHttpMessagesAsync(resourceGroupName, name, siteSourceControl, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Starts an app (or deployment slot, if specified).
            /// </summary>
            /// <remarks>
            /// Description for Starts an app (or deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static void Start(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                operations.StartAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Starts an app (or deployment slot, if specified).
            /// </summary>
            /// <remarks>
            /// Description for Starts an app (or deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task StartAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.StartWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Start capturing network packets for the site.
            /// </summary>
            /// <remarks>
            /// Description for Start capturing network packets for the site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='durationInSeconds'>
            /// The duration to keep capturing in seconds.
            /// </param>
            /// <param name='maxFrameLength'>
            /// The maximum frame length in bytes (Optional).
            /// </param>
            /// <param name='sasUrl'>
            /// The Blob URL to store capture file.
            /// </param>
            public static IList<NetworkTrace> StartNetworkTrace(this IWebAppsOperations operations, string resourceGroupName, string name, int? durationInSeconds = default(int?), int? maxFrameLength = default(int?), string sasUrl = default(string))
            {
                return operations.StartNetworkTraceAsync(resourceGroupName, name, durationInSeconds, maxFrameLength, sasUrl).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Start capturing network packets for the site.
            /// </summary>
            /// <remarks>
            /// Description for Start capturing network packets for the site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='durationInSeconds'>
            /// The duration to keep capturing in seconds.
            /// </param>
            /// <param name='maxFrameLength'>
            /// The maximum frame length in bytes (Optional).
            /// </param>
            /// <param name='sasUrl'>
            /// The Blob URL to store capture file.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IList<NetworkTrace>> StartNetworkTraceAsync(this IWebAppsOperations operations, string resourceGroupName, string name, int? durationInSeconds = default(int?), int? maxFrameLength = default(int?), string sasUrl = default(string), CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.StartNetworkTraceWithHttpMessagesAsync(resourceGroupName, name, durationInSeconds, maxFrameLength, sasUrl, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Stops an app (or deployment slot, if specified).
            /// </summary>
            /// <remarks>
            /// Description for Stops an app (or deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static void Stop(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                operations.StopAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Stops an app (or deployment slot, if specified).
            /// </summary>
            /// <remarks>
            /// Description for Stops an app (or deployment slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task StopAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.StopWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Stop ongoing capturing network packets for the site.
            /// </summary>
            /// <remarks>
            /// Description for Stop ongoing capturing network packets for the site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            public static void StopNetworkTrace(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                operations.StopNetworkTraceAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Stop ongoing capturing network packets for the site.
            /// </summary>
            /// <remarks>
            /// Description for Stop ongoing capturing network packets for the site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task StopNetworkTraceAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.StopNetworkTraceWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Sync web app repository.
            /// </summary>
            /// <remarks>
            /// Description for Sync web app repository.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            public static void SyncRepository(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                operations.SyncRepositoryAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Sync web app repository.
            /// </summary>
            /// <remarks>
            /// Description for Sync web app repository.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task SyncRepositoryAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.SyncRepositoryWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Syncs function trigger metadata to the management database
            /// </summary>
            /// <remarks>
            /// Description for Syncs function trigger metadata to the management database
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static void SyncFunctionTriggers(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                operations.SyncFunctionTriggersAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Syncs function trigger metadata to the management database
            /// </summary>
            /// <remarks>
            /// Description for Syncs function trigger metadata to the management database
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task SyncFunctionTriggersAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.SyncFunctionTriggersWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// List triggered web jobs for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List triggered web jobs for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            public static IPage<TriggeredWebJob> ListTriggeredWebJobs(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.ListTriggeredWebJobsAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List triggered web jobs for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List triggered web jobs for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<TriggeredWebJob>> ListTriggeredWebJobsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListTriggeredWebJobsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets a triggered web job by its ID for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Gets a triggered web job by its ID for an app, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            public static TriggeredWebJob GetTriggeredWebJob(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName)
            {
                return operations.GetTriggeredWebJobAsync(resourceGroupName, name, webJobName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets a triggered web job by its ID for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Gets a triggered web job by its ID for an app, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<TriggeredWebJob> GetTriggeredWebJobAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetTriggeredWebJobWithHttpMessagesAsync(resourceGroupName, name, webJobName, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Delete a triggered web job by its ID for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Delete a triggered web job by its ID for an app, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            public static void DeleteTriggeredWebJob(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName)
            {
                operations.DeleteTriggeredWebJobAsync(resourceGroupName, name, webJobName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Delete a triggered web job by its ID for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Delete a triggered web job by its ID for an app, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteTriggeredWebJobAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteTriggeredWebJobWithHttpMessagesAsync(resourceGroupName, name, webJobName, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// List a triggered web job's history for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List a triggered web job's history for an app, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            public static IPage<TriggeredJobHistory> ListTriggeredWebJobHistory(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName)
            {
                return operations.ListTriggeredWebJobHistoryAsync(resourceGroupName, name, webJobName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List a triggered web job's history for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List a triggered web job's history for an app, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<TriggeredJobHistory>> ListTriggeredWebJobHistoryAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListTriggeredWebJobHistoryWithHttpMessagesAsync(resourceGroupName, name, webJobName, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets a triggered web job's history by its ID for an app, , or a deployment
            /// slot.
            /// </summary>
            /// <remarks>
            /// Description for Gets a triggered web job's history by its ID for an app, ,
            /// or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            /// <param name='id'>
            /// History ID.
            /// </param>
            public static TriggeredJobHistory GetTriggeredWebJobHistory(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName, string id)
            {
                return operations.GetTriggeredWebJobHistoryAsync(resourceGroupName, name, webJobName, id).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets a triggered web job's history by its ID for an app, , or a deployment
            /// slot.
            /// </summary>
            /// <remarks>
            /// Description for Gets a triggered web job's history by its ID for an app, ,
            /// or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            /// <param name='id'>
            /// History ID.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<TriggeredJobHistory> GetTriggeredWebJobHistoryAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName, string id, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetTriggeredWebJobHistoryWithHttpMessagesAsync(resourceGroupName, name, webJobName, id, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Run a triggered web job for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Run a triggered web job for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            public static void RunTriggeredWebJob(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName)
            {
                operations.RunTriggeredWebJobAsync(resourceGroupName, name, webJobName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Run a triggered web job for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Run a triggered web job for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of Web Job.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task RunTriggeredWebJobAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.RunTriggeredWebJobWithHttpMessagesAsync(resourceGroupName, name, webJobName, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Gets the quota usage information of an app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets the quota usage information of an app (or deployment
            /// slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='filter'>
            /// Return only information specified in the filter (using OData syntax). For
            /// example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and
            /// startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and
            /// timeGrain eq duration'[Hour|Minute|Day]'.
            /// </param>
            public static IPage<CsmUsageQuota> ListUsages(this IWebAppsOperations operations, string resourceGroupName, string name, string filter = default(string))
            {
                return operations.ListUsagesAsync(resourceGroupName, name, filter).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the quota usage information of an app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets the quota usage information of an app (or deployment
            /// slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='filter'>
            /// Return only information specified in the filter (using OData syntax). For
            /// example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and
            /// startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and
            /// timeGrain eq duration'[Hour|Minute|Day]'.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<CsmUsageQuota>> ListUsagesAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string filter = default(string), CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListUsagesWithHttpMessagesAsync(resourceGroupName, name, filter, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the virtual networks the app (or deployment slot) is connected to.
            /// </summary>
            /// <remarks>
            /// Description for Gets the virtual networks the app (or deployment slot) is
            /// connected to.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static IList<VnetInfo> ListVnetConnections(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.ListVnetConnectionsAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the virtual networks the app (or deployment slot) is connected to.
            /// </summary>
            /// <remarks>
            /// Description for Gets the virtual networks the app (or deployment slot) is
            /// connected to.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IList<VnetInfo>> ListVnetConnectionsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListVnetConnectionsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets a virtual network the app (or deployment slot) is connected to by
            /// name.
            /// </summary>
            /// <remarks>
            /// Description for Gets a virtual network the app (or deployment slot) is
            /// connected to by name.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='vnetName'>
            /// Name of the virtual network.
            /// </param>
            public static VnetInfo GetVnetConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName)
            {
                return operations.GetVnetConnectionAsync(resourceGroupName, name, vnetName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets a virtual network the app (or deployment slot) is connected to by
            /// name.
            /// </summary>
            /// <remarks>
            /// Description for Gets a virtual network the app (or deployment slot) is
            /// connected to by name.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='vnetName'>
            /// Name of the virtual network.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<VnetInfo> GetVnetConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetVnetConnectionWithHttpMessagesAsync(resourceGroupName, name, vnetName, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Adds a Virtual Network connection to an app or slot (PUT) or updates the
            /// connection properties (PATCH).
            /// </summary>
            /// <remarks>
            /// Description for Adds a Virtual Network connection to an app or slot (PUT)
            /// or updates the connection properties (PATCH).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='vnetName'>
            /// Name of an existing Virtual Network.
            /// </param>
            /// <param name='connectionEnvelope'>
            /// Properties of the Virtual Network connection. See example.
            /// </param>
            public static VnetInfo CreateOrUpdateVnetConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope)
            {
                return operations.CreateOrUpdateVnetConnectionAsync(resourceGroupName, name, vnetName, connectionEnvelope).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Adds a Virtual Network connection to an app or slot (PUT) or updates the
            /// connection properties (PATCH).
            /// </summary>
            /// <remarks>
            /// Description for Adds a Virtual Network connection to an app or slot (PUT)
            /// or updates the connection properties (PATCH).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='vnetName'>
            /// Name of an existing Virtual Network.
            /// </param>
            /// <param name='connectionEnvelope'>
            /// Properties of the Virtual Network connection. See example.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<VnetInfo> CreateOrUpdateVnetConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.CreateOrUpdateVnetConnectionWithHttpMessagesAsync(resourceGroupName, name, vnetName, connectionEnvelope, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Deletes a connection from an app (or deployment slot to a named virtual
            /// network.
            /// </summary>
            /// <remarks>
            /// Description for Deletes a connection from an app (or deployment slot to a
            /// named virtual network.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='vnetName'>
            /// Name of the virtual network.
            /// </param>
            public static void DeleteVnetConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName)
            {
                operations.DeleteVnetConnectionAsync(resourceGroupName, name, vnetName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Deletes a connection from an app (or deployment slot to a named virtual
            /// network.
            /// </summary>
            /// <remarks>
            /// Description for Deletes a connection from an app (or deployment slot to a
            /// named virtual network.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='vnetName'>
            /// Name of the virtual network.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task DeleteVnetConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.DeleteVnetConnectionWithHttpMessagesAsync(resourceGroupName, name, vnetName, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Adds a Virtual Network connection to an app or slot (PUT) or updates the
            /// connection properties (PATCH).
            /// </summary>
            /// <remarks>
            /// Description for Adds a Virtual Network connection to an app or slot (PUT)
            /// or updates the connection properties (PATCH).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='vnetName'>
            /// Name of an existing Virtual Network.
            /// </param>
            /// <param name='connectionEnvelope'>
            /// Properties of the Virtual Network connection. See example.
            /// </param>
            public static VnetInfo UpdateVnetConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope)
            {
                return operations.UpdateVnetConnectionAsync(resourceGroupName, name, vnetName, connectionEnvelope).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Adds a Virtual Network connection to an app or slot (PUT) or updates the
            /// connection properties (PATCH).
            /// </summary>
            /// <remarks>
            /// Description for Adds a Virtual Network connection to an app or slot (PUT)
            /// or updates the connection properties (PATCH).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='vnetName'>
            /// Name of an existing Virtual Network.
            /// </param>
            /// <param name='connectionEnvelope'>
            /// Properties of the Virtual Network connection. See example.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<VnetInfo> UpdateVnetConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, VnetInfo connectionEnvelope, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateVnetConnectionWithHttpMessagesAsync(resourceGroupName, name, vnetName, connectionEnvelope, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets an app's Virtual Network gateway.
            /// </summary>
            /// <remarks>
            /// Description for Gets an app's Virtual Network gateway.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='vnetName'>
            /// Name of the Virtual Network.
            /// </param>
            /// <param name='gatewayName'>
            /// Name of the gateway. Currently, the only supported string is "primary".
            /// </param>
            public static VnetGateway GetVnetConnectionGateway(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName)
            {
                return operations.GetVnetConnectionGatewayAsync(resourceGroupName, name, vnetName, gatewayName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets an app's Virtual Network gateway.
            /// </summary>
            /// <remarks>
            /// Description for Gets an app's Virtual Network gateway.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='vnetName'>
            /// Name of the Virtual Network.
            /// </param>
            /// <param name='gatewayName'>
            /// Name of the gateway. Currently, the only supported string is "primary".
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<VnetGateway> GetVnetConnectionGatewayAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetVnetConnectionGatewayWithHttpMessagesAsync(resourceGroupName, name, vnetName, gatewayName, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH).
            /// </summary>
            /// <remarks>
            /// Description for Adds a gateway to a connected Virtual Network (PUT) or
            /// updates it (PATCH).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='vnetName'>
            /// Name of the Virtual Network.
            /// </param>
            /// <param name='gatewayName'>
            /// Name of the gateway. Currently, the only supported string is "primary".
            /// </param>
            /// <param name='connectionEnvelope'>
            /// The properties to update this gateway with.
            /// </param>
            public static VnetGateway CreateOrUpdateVnetConnectionGateway(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope)
            {
                return operations.CreateOrUpdateVnetConnectionGatewayAsync(resourceGroupName, name, vnetName, gatewayName, connectionEnvelope).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH).
            /// </summary>
            /// <remarks>
            /// Description for Adds a gateway to a connected Virtual Network (PUT) or
            /// updates it (PATCH).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='vnetName'>
            /// Name of the Virtual Network.
            /// </param>
            /// <param name='gatewayName'>
            /// Name of the gateway. Currently, the only supported string is "primary".
            /// </param>
            /// <param name='connectionEnvelope'>
            /// The properties to update this gateway with.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<VnetGateway> CreateOrUpdateVnetConnectionGatewayAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.CreateOrUpdateVnetConnectionGatewayWithHttpMessagesAsync(resourceGroupName, name, vnetName, gatewayName, connectionEnvelope, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH).
            /// </summary>
            /// <remarks>
            /// Description for Adds a gateway to a connected Virtual Network (PUT) or
            /// updates it (PATCH).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='vnetName'>
            /// Name of the Virtual Network.
            /// </param>
            /// <param name='gatewayName'>
            /// Name of the gateway. Currently, the only supported string is "primary".
            /// </param>
            /// <param name='connectionEnvelope'>
            /// The properties to update this gateway with.
            /// </param>
            public static VnetGateway UpdateVnetConnectionGateway(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope)
            {
                return operations.UpdateVnetConnectionGatewayAsync(resourceGroupName, name, vnetName, gatewayName, connectionEnvelope).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH).
            /// </summary>
            /// <remarks>
            /// Description for Adds a gateway to a connected Virtual Network (PUT) or
            /// updates it (PATCH).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='vnetName'>
            /// Name of the Virtual Network.
            /// </param>
            /// <param name='gatewayName'>
            /// Name of the gateway. Currently, the only supported string is "primary".
            /// </param>
            /// <param name='connectionEnvelope'>
            /// The properties to update this gateway with.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<VnetGateway> UpdateVnetConnectionGatewayAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string vnetName, string gatewayName, VnetGateway connectionEnvelope, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.UpdateVnetConnectionGatewayWithHttpMessagesAsync(resourceGroupName, name, vnetName, gatewayName, connectionEnvelope, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// List webjobs for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List webjobs for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            public static IPage<WebJob> ListWebJobs(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.ListWebJobsAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List webjobs for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List webjobs for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<WebJob>> ListWebJobsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListWebJobsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get webjob information for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get webjob information for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of the web job.
            /// </param>
            public static WebJob GetWebJob(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName)
            {
                return operations.GetWebJobAsync(resourceGroupName, name, webJobName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get webjob information for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get webjob information for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='webJobName'>
            /// Name of the web job.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<WebJob> GetWebJobAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string webJobName, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetWebJobWithHttpMessagesAsync(resourceGroupName, name, webJobName, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Creates a new web, mobile, or API app in an existing resource group, or
            /// updates an existing app.
            /// </summary>
            /// <remarks>
            /// Description for Creates a new web, mobile, or API app in an existing
            /// resource group, or updates an existing app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Unique name of the app to create or update. To create or update a
            /// deployment slot, use the {slot} parameter.
            /// </param>
            /// <param name='siteEnvelope'>
            /// A JSON representation of the app properties. See example.
            /// </param>
            public static Site BeginCreateOrUpdate(this IWebAppsOperations operations, string resourceGroupName, string name, Site siteEnvelope)
            {
                return operations.BeginCreateOrUpdateAsync(resourceGroupName, name, siteEnvelope).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Creates a new web, mobile, or API app in an existing resource group, or
            /// updates an existing app.
            /// </summary>
            /// <remarks>
            /// Description for Creates a new web, mobile, or API app in an existing
            /// resource group, or updates an existing app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Unique name of the app to create or update. To create or update a
            /// deployment slot, use the {slot} parameter.
            /// </param>
            /// <param name='siteEnvelope'>
            /// A JSON representation of the app properties. See example.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<Site> BeginCreateOrUpdateAsync(this IWebAppsOperations operations, string resourceGroupName, string name, Site siteEnvelope, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.BeginCreateOrUpdateWithHttpMessagesAsync(resourceGroupName, name, siteEnvelope, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Restores a specific backup to another app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Restores a specific backup to another app (or deployment
            /// slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='backupId'>
            /// ID of the backup.
            /// </param>
            /// <param name='request'>
            /// Information on restore request .
            /// </param>
            public static void BeginRestore(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, RestoreRequest request)
            {
                operations.BeginRestoreAsync(resourceGroupName, name, backupId, request).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Restores a specific backup to another app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Restores a specific backup to another app (or deployment
            /// slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='backupId'>
            /// ID of the backup.
            /// </param>
            /// <param name='request'>
            /// Information on restore request .
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task BeginRestoreAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, RestoreRequest request, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.BeginRestoreWithHttpMessagesAsync(resourceGroupName, name, backupId, request, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Gets the Git/FTP publishing credentials of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the Git/FTP publishing credentials of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            public static User BeginListPublishingCredentials(this IWebAppsOperations operations, string resourceGroupName, string name)
            {
                return operations.BeginListPublishingCredentialsAsync(resourceGroupName, name).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the Git/FTP publishing credentials of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the Git/FTP publishing credentials of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<User> BeginListPublishingCredentialsAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.BeginListPublishingCredentialsWithHttpMessagesAsync(resourceGroupName, name, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Invoke the MSDeploy web app extension.
            /// </summary>
            /// <remarks>
            /// Description for Invoke the MSDeploy web app extension.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='mSDeploy'>
            /// Details of MSDeploy operation
            /// </param>
            public static MSDeployStatus BeginCreateMSDeployOperation(this IWebAppsOperations operations, string resourceGroupName, string name, MSDeploy mSDeploy)
            {
                return operations.BeginCreateMSDeployOperationAsync(resourceGroupName, name, mSDeploy).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Invoke the MSDeploy web app extension.
            /// </summary>
            /// <remarks>
            /// Description for Invoke the MSDeploy web app extension.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='mSDeploy'>
            /// Details of MSDeploy operation
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<MSDeployStatus> BeginCreateMSDeployOperationAsync(this IWebAppsOperations operations, string resourceGroupName, string name, MSDeploy mSDeploy, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.BeginCreateMSDeployOperationWithHttpMessagesAsync(resourceGroupName, name, mSDeploy, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Create function for web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Create function for web site, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='functionName'>
            /// Function name.
            /// </param>
            /// <param name='functionEnvelope'>
            /// Function details.
            /// </param>
            public static FunctionEnvelope BeginCreateFunction(this IWebAppsOperations operations, string resourceGroupName, string name, string functionName, FunctionEnvelope functionEnvelope)
            {
                return operations.BeginCreateFunctionAsync(resourceGroupName, name, functionName, functionEnvelope).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Create function for web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Create function for web site, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='functionName'>
            /// Function name.
            /// </param>
            /// <param name='functionEnvelope'>
            /// Function details.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<FunctionEnvelope> BeginCreateFunctionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string functionName, FunctionEnvelope functionEnvelope, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.BeginCreateFunctionWithHttpMessagesAsync(resourceGroupName, name, functionName, functionEnvelope, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Invoke the MSDeploy web app extension.
            /// </summary>
            /// <remarks>
            /// Description for Invoke the MSDeploy web app extension.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='instanceId'>
            /// ID of web app instance.
            /// </param>
            /// <param name='mSDeploy'>
            /// Details of MSDeploy operation
            /// </param>
            public static MSDeployStatus BeginCreateInstanceMSDeployOperation(this IWebAppsOperations operations, string resourceGroupName, string name, string instanceId, MSDeploy mSDeploy)
            {
                return operations.BeginCreateInstanceMSDeployOperationAsync(resourceGroupName, name, instanceId, mSDeploy).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Invoke the MSDeploy web app extension.
            /// </summary>
            /// <remarks>
            /// Description for Invoke the MSDeploy web app extension.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='instanceId'>
            /// ID of web app instance.
            /// </param>
            /// <param name='mSDeploy'>
            /// Details of MSDeploy operation
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<MSDeployStatus> BeginCreateInstanceMSDeployOperationAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string instanceId, MSDeploy mSDeploy, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.BeginCreateInstanceMSDeployOperationWithHttpMessagesAsync(resourceGroupName, name, instanceId, mSDeploy, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Restores a web app.
            /// </summary>
            /// <remarks>
            /// Description for Restores a web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='subscriptionName'>
            /// Azure subscription.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='migrationOptions'>
            /// Migration migrationOptions.
            /// </param>
            public static StorageMigrationResponse BeginMigrateStorage(this IWebAppsOperations operations, string subscriptionName, string resourceGroupName, string name, StorageMigrationOptions migrationOptions)
            {
                return operations.BeginMigrateStorageAsync(subscriptionName, resourceGroupName, name, migrationOptions).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Restores a web app.
            /// </summary>
            /// <remarks>
            /// Description for Restores a web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='subscriptionName'>
            /// Azure subscription.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='migrationOptions'>
            /// Migration migrationOptions.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<StorageMigrationResponse> BeginMigrateStorageAsync(this IWebAppsOperations operations, string subscriptionName, string resourceGroupName, string name, StorageMigrationOptions migrationOptions, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.BeginMigrateStorageWithHttpMessagesAsync(subscriptionName, resourceGroupName, name, migrationOptions, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Migrates a local (in-app) MySql database to a remote MySql database.
            /// </summary>
            /// <remarks>
            /// Description for Migrates a local (in-app) MySql database to a remote MySql
            /// database.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='migrationRequestEnvelope'>
            /// MySql migration options.
            /// </param>
            public static Operation BeginMigrateMySql(this IWebAppsOperations operations, string resourceGroupName, string name, MigrateMySqlRequest migrationRequestEnvelope)
            {
                return operations.BeginMigrateMySqlAsync(resourceGroupName, name, migrationRequestEnvelope).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Migrates a local (in-app) MySql database to a remote MySql database.
            /// </summary>
            /// <remarks>
            /// Description for Migrates a local (in-app) MySql database to a remote MySql
            /// database.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='migrationRequestEnvelope'>
            /// MySql migration options.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<Operation> BeginMigrateMySqlAsync(this IWebAppsOperations operations, string resourceGroupName, string name, MigrateMySqlRequest migrationRequestEnvelope, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.BeginMigrateMySqlWithHttpMessagesAsync(resourceGroupName, name, migrationRequestEnvelope, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Start capturing network packets for the site.
            /// </summary>
            /// <remarks>
            /// Description for Start capturing network packets for the site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='durationInSeconds'>
            /// The duration to keep capturing in seconds.
            /// </param>
            /// <param name='maxFrameLength'>
            /// The maximum frame length in bytes (Optional).
            /// </param>
            /// <param name='sasUrl'>
            /// The Blob URL to store capture file.
            /// </param>
            public static IList<NetworkTrace> BeginStartWebSiteNetworkTraceOperation(this IWebAppsOperations operations, string resourceGroupName, string name, int? durationInSeconds = default(int?), int? maxFrameLength = default(int?), string sasUrl = default(string))
            {
                return operations.BeginStartWebSiteNetworkTraceOperationAsync(resourceGroupName, name, durationInSeconds, maxFrameLength, sasUrl).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Start capturing network packets for the site.
            /// </summary>
            /// <remarks>
            /// Description for Start capturing network packets for the site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='durationInSeconds'>
            /// The duration to keep capturing in seconds.
            /// </param>
            /// <param name='maxFrameLength'>
            /// The maximum frame length in bytes (Optional).
            /// </param>
            /// <param name='sasUrl'>
            /// The Blob URL to store capture file.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IList<NetworkTrace>> BeginStartWebSiteNetworkTraceOperationAsync(this IWebAppsOperations operations, string resourceGroupName, string name, int? durationInSeconds = default(int?), int? maxFrameLength = default(int?), string sasUrl = default(string), CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.BeginStartWebSiteNetworkTraceOperationWithHttpMessagesAsync(resourceGroupName, name, durationInSeconds, maxFrameLength, sasUrl, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Approves or rejects a private endpoint connection
            /// </summary>
            /// <remarks>
            /// Description for Approves or rejects a private endpoint connection
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the site.
            /// </param>
            /// <param name='privateEndpointConnectionName'>
            /// </param>
            /// <param name='privateEndpointWrapper'>
            /// </param>
            public static RemotePrivateEndpointConnectionARMResource BeginApproveOrRejectPrivateEndpointConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string privateEndpointConnectionName, PrivateLinkConnectionApprovalRequestResource privateEndpointWrapper)
            {
                return operations.BeginApproveOrRejectPrivateEndpointConnectionAsync(resourceGroupName, name, privateEndpointConnectionName, privateEndpointWrapper).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Approves or rejects a private endpoint connection
            /// </summary>
            /// <remarks>
            /// Description for Approves or rejects a private endpoint connection
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the site.
            /// </param>
            /// <param name='privateEndpointConnectionName'>
            /// </param>
            /// <param name='privateEndpointWrapper'>
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<RemotePrivateEndpointConnectionARMResource> BeginApproveOrRejectPrivateEndpointConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string privateEndpointConnectionName, PrivateLinkConnectionApprovalRequestResource privateEndpointWrapper, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.BeginApproveOrRejectPrivateEndpointConnectionWithHttpMessagesAsync(resourceGroupName, name, privateEndpointConnectionName, privateEndpointWrapper, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Deletes a private endpoint connection
            /// </summary>
            /// <remarks>
            /// Description for Deletes a private endpoint connection
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the site.
            /// </param>
            /// <param name='privateEndpointConnectionName'>
            /// </param>
            public static object BeginDeletePrivateEndpointConnection(this IWebAppsOperations operations, string resourceGroupName, string name, string privateEndpointConnectionName)
            {
                return operations.BeginDeletePrivateEndpointConnectionAsync(resourceGroupName, name, privateEndpointConnectionName).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Deletes a private endpoint connection
            /// </summary>
            /// <remarks>
            /// Description for Deletes a private endpoint connection
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the site.
            /// </param>
            /// <param name='privateEndpointConnectionName'>
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<object> BeginDeletePrivateEndpointConnectionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string privateEndpointConnectionName, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.BeginDeletePrivateEndpointConnectionWithHttpMessagesAsync(resourceGroupName, name, privateEndpointConnectionName, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Restores an app from a backup blob in Azure Storage.
            /// </summary>
            /// <remarks>
            /// Description for Restores an app from a backup blob in Azure Storage.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='request'>
            /// Information on restore request .
            /// </param>
            public static void BeginRestoreFromBackupBlob(this IWebAppsOperations operations, string resourceGroupName, string name, RestoreRequest request)
            {
                operations.BeginRestoreFromBackupBlobAsync(resourceGroupName, name, request).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Restores an app from a backup blob in Azure Storage.
            /// </summary>
            /// <remarks>
            /// Description for Restores an app from a backup blob in Azure Storage.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='request'>
            /// Information on restore request .
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task BeginRestoreFromBackupBlobAsync(this IWebAppsOperations operations, string resourceGroupName, string name, RestoreRequest request, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.BeginRestoreFromBackupBlobWithHttpMessagesAsync(resourceGroupName, name, request, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Restores a deleted web app to this web app.
            /// </summary>
            /// <remarks>
            /// Description for Restores a deleted web app to this web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='restoreRequest'>
            /// Deleted web app restore information.
            /// </param>
            public static void BeginRestoreFromDeletedApp(this IWebAppsOperations operations, string resourceGroupName, string name, DeletedAppRestoreRequest restoreRequest)
            {
                operations.BeginRestoreFromDeletedAppAsync(resourceGroupName, name, restoreRequest).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Restores a deleted web app to this web app.
            /// </summary>
            /// <remarks>
            /// Description for Restores a deleted web app to this web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='restoreRequest'>
            /// Deleted web app restore information.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task BeginRestoreFromDeletedAppAsync(this IWebAppsOperations operations, string resourceGroupName, string name, DeletedAppRestoreRequest restoreRequest, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.BeginRestoreFromDeletedAppWithHttpMessagesAsync(resourceGroupName, name, restoreRequest, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Restores a web app from a snapshot.
            /// </summary>
            /// <remarks>
            /// Description for Restores a web app from a snapshot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='restoreRequest'>
            /// Snapshot restore settings. Snapshot information can be obtained by calling
            /// GetDeletedSites or GetSiteSnapshots API.
            /// </param>
            public static void BeginRestoreSnapshot(this IWebAppsOperations operations, string resourceGroupName, string name, SnapshotRestoreRequest restoreRequest)
            {
                operations.BeginRestoreSnapshotAsync(resourceGroupName, name, restoreRequest).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Restores a web app from a snapshot.
            /// </summary>
            /// <remarks>
            /// Description for Restores a web app from a snapshot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='restoreRequest'>
            /// Snapshot restore settings. Snapshot information can be obtained by calling
            /// GetDeletedSites or GetSiteSnapshots API.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task BeginRestoreSnapshotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SnapshotRestoreRequest restoreRequest, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.BeginRestoreSnapshotWithHttpMessagesAsync(resourceGroupName, name, restoreRequest, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Install site extension on a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Install site extension on a web site, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='siteExtensionId'>
            /// Site extension name.
            /// </param>
            public static SiteExtensionInfo BeginInstallSiteExtension(this IWebAppsOperations operations, string resourceGroupName, string name, string siteExtensionId)
            {
                return operations.BeginInstallSiteExtensionAsync(resourceGroupName, name, siteExtensionId).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Install site extension on a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Install site extension on a web site, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='siteExtensionId'>
            /// Site extension name.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteExtensionInfo> BeginInstallSiteExtensionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string siteExtensionId, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.BeginInstallSiteExtensionWithHttpMessagesAsync(resourceGroupName, name, siteExtensionId, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Creates a new web, mobile, or API app in an existing resource group, or
            /// updates an existing app.
            /// </summary>
            /// <remarks>
            /// Description for Creates a new web, mobile, or API app in an existing
            /// resource group, or updates an existing app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Unique name of the app to create or update. To create or update a
            /// deployment slot, use the {slot} parameter.
            /// </param>
            /// <param name='siteEnvelope'>
            /// A JSON representation of the app properties. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot to create or update. By default, this API
            /// attempts to create or modify the production slot.
            /// </param>
            public static Site BeginCreateOrUpdateSlot(this IWebAppsOperations operations, string resourceGroupName, string name, Site siteEnvelope, string slot)
            {
                return operations.BeginCreateOrUpdateSlotAsync(resourceGroupName, name, siteEnvelope, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Creates a new web, mobile, or API app in an existing resource group, or
            /// updates an existing app.
            /// </summary>
            /// <remarks>
            /// Description for Creates a new web, mobile, or API app in an existing
            /// resource group, or updates an existing app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Unique name of the app to create or update. To create or update a
            /// deployment slot, use the {slot} parameter.
            /// </param>
            /// <param name='siteEnvelope'>
            /// A JSON representation of the app properties. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot to create or update. By default, this API
            /// attempts to create or modify the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<Site> BeginCreateOrUpdateSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, Site siteEnvelope, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.BeginCreateOrUpdateSlotWithHttpMessagesAsync(resourceGroupName, name, siteEnvelope, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Restores a specific backup to another app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Restores a specific backup to another app (or deployment
            /// slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='backupId'>
            /// ID of the backup.
            /// </param>
            /// <param name='request'>
            /// Information on restore request .
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// restore a backup of the production slot.
            /// </param>
            public static void BeginRestoreSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, RestoreRequest request, string slot)
            {
                operations.BeginRestoreSlotAsync(resourceGroupName, name, backupId, request, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Restores a specific backup to another app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Restores a specific backup to another app (or deployment
            /// slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='backupId'>
            /// ID of the backup.
            /// </param>
            /// <param name='request'>
            /// Information on restore request .
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// restore a backup of the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task BeginRestoreSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string backupId, RestoreRequest request, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.BeginRestoreSlotWithHttpMessagesAsync(resourceGroupName, name, backupId, request, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Gets the Git/FTP publishing credentials of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the Git/FTP publishing credentials of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// the publishing credentials for the production slot.
            /// </param>
            public static User BeginListPublishingCredentialsSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot)
            {
                return operations.BeginListPublishingCredentialsSlotAsync(resourceGroupName, name, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the Git/FTP publishing credentials of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets the Git/FTP publishing credentials of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will get
            /// the publishing credentials for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<User> BeginListPublishingCredentialsSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.BeginListPublishingCredentialsSlotWithHttpMessagesAsync(resourceGroupName, name, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Invoke the MSDeploy web app extension.
            /// </summary>
            /// <remarks>
            /// Description for Invoke the MSDeploy web app extension.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            /// <param name='mSDeploy'>
            /// Details of MSDeploy operation
            /// </param>
            public static MSDeployStatus BeginCreateMSDeployOperationSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, MSDeploy mSDeploy)
            {
                return operations.BeginCreateMSDeployOperationSlotAsync(resourceGroupName, name, slot, mSDeploy).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Invoke the MSDeploy web app extension.
            /// </summary>
            /// <remarks>
            /// Description for Invoke the MSDeploy web app extension.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            /// <param name='mSDeploy'>
            /// Details of MSDeploy operation
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<MSDeployStatus> BeginCreateMSDeployOperationSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, MSDeploy mSDeploy, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.BeginCreateMSDeployOperationSlotWithHttpMessagesAsync(resourceGroupName, name, slot, mSDeploy, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Create function for web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Create function for web site, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='functionName'>
            /// Function name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot.
            /// </param>
            /// <param name='functionEnvelope'>
            /// Function details.
            /// </param>
            public static FunctionEnvelope BeginCreateInstanceFunctionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string functionName, string slot, FunctionEnvelope functionEnvelope)
            {
                return operations.BeginCreateInstanceFunctionSlotAsync(resourceGroupName, name, functionName, slot, functionEnvelope).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Create function for web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Create function for web site, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='functionName'>
            /// Function name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot.
            /// </param>
            /// <param name='functionEnvelope'>
            /// Function details.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<FunctionEnvelope> BeginCreateInstanceFunctionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string functionName, string slot, FunctionEnvelope functionEnvelope, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.BeginCreateInstanceFunctionSlotWithHttpMessagesAsync(resourceGroupName, name, functionName, slot, functionEnvelope, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Invoke the MSDeploy web app extension.
            /// </summary>
            /// <remarks>
            /// Description for Invoke the MSDeploy web app extension.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            /// <param name='instanceId'>
            /// ID of web app instance.
            /// </param>
            /// <param name='mSDeploy'>
            /// Details of MSDeploy operation
            /// </param>
            public static MSDeployStatus BeginCreateInstanceMSDeployOperationSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string instanceId, MSDeploy mSDeploy)
            {
                return operations.BeginCreateInstanceMSDeployOperationSlotAsync(resourceGroupName, name, slot, instanceId, mSDeploy).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Invoke the MSDeploy web app extension.
            /// </summary>
            /// <remarks>
            /// Description for Invoke the MSDeploy web app extension.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            /// <param name='instanceId'>
            /// ID of web app instance.
            /// </param>
            /// <param name='mSDeploy'>
            /// Details of MSDeploy operation
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<MSDeployStatus> BeginCreateInstanceMSDeployOperationSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, string instanceId, MSDeploy mSDeploy, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.BeginCreateInstanceMSDeployOperationSlotWithHttpMessagesAsync(resourceGroupName, name, slot, instanceId, mSDeploy, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Start capturing network packets for the site.
            /// </summary>
            /// <remarks>
            /// Description for Start capturing network packets for the site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='slot'>
            /// The name of the slot for this web app.
            /// </param>
            /// <param name='durationInSeconds'>
            /// The duration to keep capturing in seconds.
            /// </param>
            /// <param name='maxFrameLength'>
            /// The maximum frame length in bytes (Optional).
            /// </param>
            /// <param name='sasUrl'>
            /// The Blob URL to store capture file.
            /// </param>
            public static IList<NetworkTrace> BeginStartWebSiteNetworkTraceOperationSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, int? durationInSeconds = default(int?), int? maxFrameLength = default(int?), string sasUrl = default(string))
            {
                return operations.BeginStartWebSiteNetworkTraceOperationSlotAsync(resourceGroupName, name, slot, durationInSeconds, maxFrameLength, sasUrl).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Start capturing network packets for the site.
            /// </summary>
            /// <remarks>
            /// Description for Start capturing network packets for the site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='slot'>
            /// The name of the slot for this web app.
            /// </param>
            /// <param name='durationInSeconds'>
            /// The duration to keep capturing in seconds.
            /// </param>
            /// <param name='maxFrameLength'>
            /// The maximum frame length in bytes (Optional).
            /// </param>
            /// <param name='sasUrl'>
            /// The Blob URL to store capture file.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IList<NetworkTrace>> BeginStartWebSiteNetworkTraceOperationSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, int? durationInSeconds = default(int?), int? maxFrameLength = default(int?), string sasUrl = default(string), CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.BeginStartWebSiteNetworkTraceOperationSlotWithHttpMessagesAsync(resourceGroupName, name, slot, durationInSeconds, maxFrameLength, sasUrl, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Approves or rejects a private endpoint connection
            /// </summary>
            /// <remarks>
            /// Description for Approves or rejects a private endpoint connection
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the site.
            /// </param>
            /// <param name='privateEndpointConnectionName'>
            /// </param>
            /// <param name='privateEndpointWrapper'>
            /// </param>
            /// <param name='slot'>
            /// </param>
            public static RemotePrivateEndpointConnectionARMResource BeginApproveOrRejectPrivateEndpointConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string privateEndpointConnectionName, PrivateLinkConnectionApprovalRequestResource privateEndpointWrapper, string slot)
            {
                return operations.BeginApproveOrRejectPrivateEndpointConnectionSlotAsync(resourceGroupName, name, privateEndpointConnectionName, privateEndpointWrapper, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Approves or rejects a private endpoint connection
            /// </summary>
            /// <remarks>
            /// Description for Approves or rejects a private endpoint connection
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the site.
            /// </param>
            /// <param name='privateEndpointConnectionName'>
            /// </param>
            /// <param name='privateEndpointWrapper'>
            /// </param>
            /// <param name='slot'>
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<RemotePrivateEndpointConnectionARMResource> BeginApproveOrRejectPrivateEndpointConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string privateEndpointConnectionName, PrivateLinkConnectionApprovalRequestResource privateEndpointWrapper, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.BeginApproveOrRejectPrivateEndpointConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, privateEndpointConnectionName, privateEndpointWrapper, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Deletes a private endpoint connection
            /// </summary>
            /// <remarks>
            /// Description for Deletes a private endpoint connection
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the site.
            /// </param>
            /// <param name='privateEndpointConnectionName'>
            /// </param>
            /// <param name='slot'>
            /// </param>
            public static object BeginDeletePrivateEndpointConnectionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string privateEndpointConnectionName, string slot)
            {
                return operations.BeginDeletePrivateEndpointConnectionSlotAsync(resourceGroupName, name, privateEndpointConnectionName, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Deletes a private endpoint connection
            /// </summary>
            /// <remarks>
            /// Description for Deletes a private endpoint connection
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the site.
            /// </param>
            /// <param name='privateEndpointConnectionName'>
            /// </param>
            /// <param name='slot'>
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<object> BeginDeletePrivateEndpointConnectionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string privateEndpointConnectionName, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.BeginDeletePrivateEndpointConnectionSlotWithHttpMessagesAsync(resourceGroupName, name, privateEndpointConnectionName, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Restores an app from a backup blob in Azure Storage.
            /// </summary>
            /// <remarks>
            /// Description for Restores an app from a backup blob in Azure Storage.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='request'>
            /// Information on restore request .
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// restore a backup of the production slot.
            /// </param>
            public static void BeginRestoreFromBackupBlobSlot(this IWebAppsOperations operations, string resourceGroupName, string name, RestoreRequest request, string slot)
            {
                operations.BeginRestoreFromBackupBlobSlotAsync(resourceGroupName, name, request, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Restores an app from a backup blob in Azure Storage.
            /// </summary>
            /// <remarks>
            /// Description for Restores an app from a backup blob in Azure Storage.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='request'>
            /// Information on restore request .
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// restore a backup of the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task BeginRestoreFromBackupBlobSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, RestoreRequest request, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.BeginRestoreFromBackupBlobSlotWithHttpMessagesAsync(resourceGroupName, name, request, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Restores a deleted web app to this web app.
            /// </summary>
            /// <remarks>
            /// Description for Restores a deleted web app to this web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='restoreRequest'>
            /// Deleted web app restore information.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            public static void BeginRestoreFromDeletedAppSlot(this IWebAppsOperations operations, string resourceGroupName, string name, DeletedAppRestoreRequest restoreRequest, string slot)
            {
                operations.BeginRestoreFromDeletedAppSlotAsync(resourceGroupName, name, restoreRequest, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Restores a deleted web app to this web app.
            /// </summary>
            /// <remarks>
            /// Description for Restores a deleted web app to this web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='restoreRequest'>
            /// Deleted web app restore information.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task BeginRestoreFromDeletedAppSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, DeletedAppRestoreRequest restoreRequest, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.BeginRestoreFromDeletedAppSlotWithHttpMessagesAsync(resourceGroupName, name, restoreRequest, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Restores a web app from a snapshot.
            /// </summary>
            /// <remarks>
            /// Description for Restores a web app from a snapshot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='restoreRequest'>
            /// Snapshot restore settings. Snapshot information can be obtained by calling
            /// GetDeletedSites or GetSiteSnapshots API.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            public static void BeginRestoreSnapshotSlot(this IWebAppsOperations operations, string resourceGroupName, string name, SnapshotRestoreRequest restoreRequest, string slot)
            {
                operations.BeginRestoreSnapshotSlotAsync(resourceGroupName, name, restoreRequest, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Restores a web app from a snapshot.
            /// </summary>
            /// <remarks>
            /// Description for Restores a web app from a snapshot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of web app.
            /// </param>
            /// <param name='restoreRequest'>
            /// Snapshot restore settings. Snapshot information can be obtained by calling
            /// GetDeletedSites or GetSiteSnapshots API.
            /// </param>
            /// <param name='slot'>
            /// Name of web app slot. If not specified then will default to production
            /// slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task BeginRestoreSnapshotSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SnapshotRestoreRequest restoreRequest, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.BeginRestoreSnapshotSlotWithHttpMessagesAsync(resourceGroupName, name, restoreRequest, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Install site extension on a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Install site extension on a web site, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='siteExtensionId'>
            /// Site extension name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API uses the
            /// production slot.
            /// </param>
            public static SiteExtensionInfo BeginInstallSiteExtensionSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string siteExtensionId, string slot)
            {
                return operations.BeginInstallSiteExtensionSlotAsync(resourceGroupName, name, siteExtensionId, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Install site extension on a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Install site extension on a web site, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Site name.
            /// </param>
            /// <param name='siteExtensionId'>
            /// Site extension name.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API uses the
            /// production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteExtensionInfo> BeginInstallSiteExtensionSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string siteExtensionId, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.BeginInstallSiteExtensionSlotWithHttpMessagesAsync(resourceGroupName, name, siteExtensionId, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Swaps two deployment slots of an app.
            /// </summary>
            /// <remarks>
            /// Description for Swaps two deployment slots of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slotSwapEntity'>
            /// JSON object that contains the target slot name. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the source slot. If a slot is not specified, the production slot is
            /// used as the source slot.
            /// </param>
            public static void BeginSwapSlotSlot(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot)
            {
                operations.BeginSwapSlotSlotAsync(resourceGroupName, name, slotSwapEntity, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Swaps two deployment slots of an app.
            /// </summary>
            /// <remarks>
            /// Description for Swaps two deployment slots of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slotSwapEntity'>
            /// JSON object that contains the target slot name. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the source slot. If a slot is not specified, the production slot is
            /// used as the source slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task BeginSwapSlotSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.BeginSwapSlotSlotWithHttpMessagesAsync(resourceGroupName, name, slotSwapEntity, slot, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Updates the source control configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the source control configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='siteSourceControl'>
            /// JSON representation of a SiteSourceControl object. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// update the source control configuration for the production slot.
            /// </param>
            public static SiteSourceControl BeginCreateOrUpdateSourceControlSlot(this IWebAppsOperations operations, string resourceGroupName, string name, SiteSourceControl siteSourceControl, string slot)
            {
                return operations.BeginCreateOrUpdateSourceControlSlotAsync(resourceGroupName, name, siteSourceControl, slot).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Updates the source control configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the source control configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='siteSourceControl'>
            /// JSON representation of a SiteSourceControl object. See example.
            /// </param>
            /// <param name='slot'>
            /// Name of the deployment slot. If a slot is not specified, the API will
            /// update the source control configuration for the production slot.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteSourceControl> BeginCreateOrUpdateSourceControlSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SiteSourceControl siteSourceControl, string slot, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.BeginCreateOrUpdateSourceControlSlotWithHttpMessagesAsync(resourceGroupName, name, siteSourceControl, slot, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Start capturing network packets for the site.
            /// </summary>
            /// <remarks>
            /// Description for Start capturing network packets for the site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='slot'>
            /// The name of the slot for this web app.
            /// </param>
            /// <param name='durationInSeconds'>
            /// The duration to keep capturing in seconds.
            /// </param>
            /// <param name='maxFrameLength'>
            /// The maximum frame length in bytes (Optional).
            /// </param>
            /// <param name='sasUrl'>
            /// The Blob URL to store capture file.
            /// </param>
            public static IList<NetworkTrace> BeginStartNetworkTraceSlot(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, int? durationInSeconds = default(int?), int? maxFrameLength = default(int?), string sasUrl = default(string))
            {
                return operations.BeginStartNetworkTraceSlotAsync(resourceGroupName, name, slot, durationInSeconds, maxFrameLength, sasUrl).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Start capturing network packets for the site.
            /// </summary>
            /// <remarks>
            /// Description for Start capturing network packets for the site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='slot'>
            /// The name of the slot for this web app.
            /// </param>
            /// <param name='durationInSeconds'>
            /// The duration to keep capturing in seconds.
            /// </param>
            /// <param name='maxFrameLength'>
            /// The maximum frame length in bytes (Optional).
            /// </param>
            /// <param name='sasUrl'>
            /// The Blob URL to store capture file.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IList<NetworkTrace>> BeginStartNetworkTraceSlotAsync(this IWebAppsOperations operations, string resourceGroupName, string name, string slot, int? durationInSeconds = default(int?), int? maxFrameLength = default(int?), string sasUrl = default(string), CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.BeginStartNetworkTraceSlotWithHttpMessagesAsync(resourceGroupName, name, slot, durationInSeconds, maxFrameLength, sasUrl, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Swaps two deployment slots of an app.
            /// </summary>
            /// <remarks>
            /// Description for Swaps two deployment slots of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slotSwapEntity'>
            /// JSON object that contains the target slot name. See example.
            /// </param>
            public static void BeginSwapSlotWithProduction(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity)
            {
                operations.BeginSwapSlotWithProductionAsync(resourceGroupName, name, slotSwapEntity).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Swaps two deployment slots of an app.
            /// </summary>
            /// <remarks>
            /// Description for Swaps two deployment slots of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='slotSwapEntity'>
            /// JSON object that contains the target slot name. See example.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task BeginSwapSlotWithProductionAsync(this IWebAppsOperations operations, string resourceGroupName, string name, CsmSlotEntity slotSwapEntity, CancellationToken cancellationToken = default(CancellationToken))
            {
                (await operations.BeginSwapSlotWithProductionWithHttpMessagesAsync(resourceGroupName, name, slotSwapEntity, null, cancellationToken).ConfigureAwait(false)).Dispose();
            }
 
            /// <summary>
            /// Updates the source control configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the source control configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='siteSourceControl'>
            /// JSON representation of a SiteSourceControl object. See example.
            /// </param>
            public static SiteSourceControl BeginCreateOrUpdateSourceControl(this IWebAppsOperations operations, string resourceGroupName, string name, SiteSourceControl siteSourceControl)
            {
                return operations.BeginCreateOrUpdateSourceControlAsync(resourceGroupName, name, siteSourceControl).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Updates the source control configuration of an app.
            /// </summary>
            /// <remarks>
            /// Description for Updates the source control configuration of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// Name of the app.
            /// </param>
            /// <param name='siteSourceControl'>
            /// JSON representation of a SiteSourceControl object. See example.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<SiteSourceControl> BeginCreateOrUpdateSourceControlAsync(this IWebAppsOperations operations, string resourceGroupName, string name, SiteSourceControl siteSourceControl, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.BeginCreateOrUpdateSourceControlWithHttpMessagesAsync(resourceGroupName, name, siteSourceControl, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Start capturing network packets for the site.
            /// </summary>
            /// <remarks>
            /// Description for Start capturing network packets for the site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='durationInSeconds'>
            /// The duration to keep capturing in seconds.
            /// </param>
            /// <param name='maxFrameLength'>
            /// The maximum frame length in bytes (Optional).
            /// </param>
            /// <param name='sasUrl'>
            /// The Blob URL to store capture file.
            /// </param>
            public static IList<NetworkTrace> BeginStartNetworkTrace(this IWebAppsOperations operations, string resourceGroupName, string name, int? durationInSeconds = default(int?), int? maxFrameLength = default(int?), string sasUrl = default(string))
            {
                return operations.BeginStartNetworkTraceAsync(resourceGroupName, name, durationInSeconds, maxFrameLength, sasUrl).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Start capturing network packets for the site.
            /// </summary>
            /// <remarks>
            /// Description for Start capturing network packets for the site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='resourceGroupName'>
            /// Name of the resource group to which the resource belongs.
            /// </param>
            /// <param name='name'>
            /// The name of the web app.
            /// </param>
            /// <param name='durationInSeconds'>
            /// The duration to keep capturing in seconds.
            /// </param>
            /// <param name='maxFrameLength'>
            /// The maximum frame length in bytes (Optional).
            /// </param>
            /// <param name='sasUrl'>
            /// The Blob URL to store capture file.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IList<NetworkTrace>> BeginStartNetworkTraceAsync(this IWebAppsOperations operations, string resourceGroupName, string name, int? durationInSeconds = default(int?), int? maxFrameLength = default(int?), string sasUrl = default(string), CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.BeginStartNetworkTraceWithHttpMessagesAsync(resourceGroupName, name, durationInSeconds, maxFrameLength, sasUrl, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get all apps for a subscription.
            /// </summary>
            /// <remarks>
            /// Description for Get all apps for a subscription.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<Site> ListNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get all apps for a subscription.
            /// </summary>
            /// <remarks>
            /// Description for Get all apps for a subscription.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<Site>> ListNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets all web, mobile, and API apps in the specified resource group.
            /// </summary>
            /// <remarks>
            /// Description for Gets all web, mobile, and API apps in the specified
            /// resource group.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<Site> ListByResourceGroupNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListByResourceGroupNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets all web, mobile, and API apps in the specified resource group.
            /// </summary>
            /// <remarks>
            /// Description for Gets all web, mobile, and API apps in the specified
            /// resource group.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<Site>> ListByResourceGroupNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListByResourceGroupNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets existing backups of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets existing backups of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<BackupItem> ListBackupsNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListBackupsNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets existing backups of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets existing backups of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<BackupItem>> ListBackupsNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListBackupsNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Returns whether Scm basic auth is allowed and whether Ftp is allowed for a
            /// given site.
            /// </summary>
            /// <remarks>
            /// Description for Returns whether Scm basic auth is allowed and whether Ftp
            /// is allowed for a given site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<CsmPublishingCredentialsPoliciesEntity> ListBasicPublishingCredentialsPoliciesNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListBasicPublishingCredentialsPoliciesNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Returns whether Scm basic auth is allowed and whether Ftp is allowed for a
            /// given site.
            /// </summary>
            /// <remarks>
            /// Description for Returns whether Scm basic auth is allowed and whether Ftp
            /// is allowed for a given site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<CsmPublishingCredentialsPoliciesEntity>> ListBasicPublishingCredentialsPoliciesNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListBasicPublishingCredentialsPoliciesNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// List the configurations of an app
            /// </summary>
            /// <remarks>
            /// Description for List the configurations of an app
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<SiteConfigResource> ListConfigurationsNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListConfigurationsNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List the configurations of an app
            /// </summary>
            /// <remarks>
            /// Description for List the configurations of an app
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<SiteConfigResource>> ListConfigurationsNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListConfigurationsNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the config reference app settings and status of an app
            /// </summary>
            /// <remarks>
            /// Description for Gets the config reference app settings and status of an app
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<ApiKVReference> GetAppSettingsKeyVaultReferencesNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.GetAppSettingsKeyVaultReferencesNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the config reference app settings and status of an app
            /// </summary>
            /// <remarks>
            /// Description for Gets the config reference app settings and status of an app
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ApiKVReference>> GetAppSettingsKeyVaultReferencesNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetAppSettingsKeyVaultReferencesNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the config reference app settings and status of an app
            /// </summary>
            /// <remarks>
            /// Description for Gets the config reference app settings and status of an app
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<ApiKVReference> GetSiteConnectionStringKeyVaultReferencesNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.GetSiteConnectionStringKeyVaultReferencesNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the config reference app settings and status of an app
            /// </summary>
            /// <remarks>
            /// Description for Gets the config reference app settings and status of an app
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ApiKVReference>> GetSiteConnectionStringKeyVaultReferencesNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetSiteConnectionStringKeyVaultReferencesNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets a list of web app configuration snapshots identifiers. Each element of
            /// the list contains a timestamp and the ID of the snapshot.
            /// </summary>
            /// <remarks>
            /// Description for Gets a list of web app configuration snapshots identifiers.
            /// Each element of the list contains a timestamp and the ID of the snapshot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<SiteConfigurationSnapshotInfo> ListConfigurationSnapshotInfoNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListConfigurationSnapshotInfoNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets a list of web app configuration snapshots identifiers. Each element of
            /// the list contains a timestamp and the ID of the snapshot.
            /// </summary>
            /// <remarks>
            /// Description for Gets a list of web app configuration snapshots identifiers.
            /// Each element of the list contains a timestamp and the ID of the snapshot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<SiteConfigurationSnapshotInfo>> ListConfigurationSnapshotInfoNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListConfigurationSnapshotInfoNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// List continuous web jobs for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List continuous web jobs for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<ContinuousWebJob> ListContinuousWebJobsNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListContinuousWebJobsNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List continuous web jobs for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List continuous web jobs for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ContinuousWebJob>> ListContinuousWebJobsNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListContinuousWebJobsNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// List deployments for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List deployments for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<Deployment> ListDeploymentsNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListDeploymentsNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List deployments for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List deployments for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<Deployment>> ListDeploymentsNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListDeploymentsNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Lists ownership identifiers for domain associated with web app.
            /// </summary>
            /// <remarks>
            /// Description for Lists ownership identifiers for domain associated with web
            /// app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<Identifier> ListDomainOwnershipIdentifiersNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListDomainOwnershipIdentifiersNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Lists ownership identifiers for domain associated with web app.
            /// </summary>
            /// <remarks>
            /// Description for Lists ownership identifiers for domain associated with web
            /// app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<Identifier>> ListDomainOwnershipIdentifiersNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListDomainOwnershipIdentifiersNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// List the functions for a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List the functions for a web site, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<FunctionEnvelope> ListFunctionsNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListFunctionsNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List the functions for a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List the functions for a web site, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<FunctionEnvelope>> ListFunctionsNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListFunctionsNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get hostname bindings for an app or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get hostname bindings for an app or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<HostNameBinding> ListHostNameBindingsNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListHostNameBindingsNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get hostname bindings for an app or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get hostname bindings for an app or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<HostNameBinding>> ListHostNameBindingsNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListHostNameBindingsNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets all scale-out instances of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets all scale-out instances of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<WebSiteInstanceStatus> ListInstanceIdentifiersNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListInstanceIdentifiersNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets all scale-out instances of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets all scale-out instances of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<WebSiteInstanceStatus>> ListInstanceIdentifiersNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListInstanceIdentifiersNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get list of processes for a web site, or a deployment slot, or for a
            /// specific scaled-out instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for Get list of processes for a web site, or a deployment slot,
            /// or for a specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<ProcessInfo> ListInstanceProcessesNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListInstanceProcessesNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get list of processes for a web site, or a deployment slot, or for a
            /// specific scaled-out instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for Get list of processes for a web site, or a deployment slot,
            /// or for a specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ProcessInfo>> ListInstanceProcessesNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListInstanceProcessesNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// List module information for a process by its ID for a specific scaled-out
            /// instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for List module information for a process by its ID for a
            /// specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<ProcessModuleInfo> ListInstanceProcessModulesNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListInstanceProcessModulesNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List module information for a process by its ID for a specific scaled-out
            /// instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for List module information for a process by its ID for a
            /// specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ProcessModuleInfo>> ListInstanceProcessModulesNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListInstanceProcessModulesNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// List the threads in a process by its ID for a specific scaled-out instance
            /// in a web site.
            /// </summary>
            /// <remarks>
            /// Description for List the threads in a process by its ID for a specific
            /// scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<ProcessThreadInfo> ListInstanceProcessThreadsNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListInstanceProcessThreadsNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List the threads in a process by its ID for a specific scaled-out instance
            /// in a web site.
            /// </summary>
            /// <remarks>
            /// Description for List the threads in a process by its ID for a specific
            /// scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ProcessThreadInfo>> ListInstanceProcessThreadsNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListInstanceProcessThreadsNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets existing backups of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets existing backups of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<BackupItem> ListSiteBackupsNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListSiteBackupsNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets existing backups of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets existing backups of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<BackupItem>> ListSiteBackupsNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListSiteBackupsNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets perfmon counters for web app.
            /// </summary>
            /// <remarks>
            /// Description for Gets perfmon counters for web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<PerfMonResponse> ListPerfMonCountersNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListPerfMonCountersNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets perfmon counters for web app.
            /// </summary>
            /// <remarks>
            /// Description for Gets perfmon counters for web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<PerfMonResponse>> ListPerfMonCountersNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListPerfMonCountersNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the list of private endpoint connections associated with a site
            /// </summary>
            /// <remarks>
            /// Description for Gets the list of private endpoint connections associated
            /// with a site
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<RemotePrivateEndpointConnectionARMResource> GetPrivateEndpointConnectionListNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.GetPrivateEndpointConnectionListNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the list of private endpoint connections associated with a site
            /// </summary>
            /// <remarks>
            /// Description for Gets the list of private endpoint connections associated
            /// with a site
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<RemotePrivateEndpointConnectionARMResource>> GetPrivateEndpointConnectionListNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetPrivateEndpointConnectionListNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get list of processes for a web site, or a deployment slot, or for a
            /// specific scaled-out instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for Get list of processes for a web site, or a deployment slot,
            /// or for a specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<ProcessInfo> ListProcessesNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListProcessesNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get list of processes for a web site, or a deployment slot, or for a
            /// specific scaled-out instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for Get list of processes for a web site, or a deployment slot,
            /// or for a specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ProcessInfo>> ListProcessesNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListProcessesNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// List module information for a process by its ID for a specific scaled-out
            /// instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for List module information for a process by its ID for a
            /// specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<ProcessModuleInfo> ListProcessModulesNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListProcessModulesNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List module information for a process by its ID for a specific scaled-out
            /// instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for List module information for a process by its ID for a
            /// specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ProcessModuleInfo>> ListProcessModulesNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListProcessModulesNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// List the threads in a process by its ID for a specific scaled-out instance
            /// in a web site.
            /// </summary>
            /// <remarks>
            /// Description for List the threads in a process by its ID for a specific
            /// scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<ProcessThreadInfo> ListProcessThreadsNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListProcessThreadsNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List the threads in a process by its ID for a specific scaled-out instance
            /// in a web site.
            /// </summary>
            /// <remarks>
            /// Description for List the threads in a process by its ID for a specific
            /// scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ProcessThreadInfo>> ListProcessThreadsNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListProcessThreadsNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get public certificates for an app or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get public certificates for an app or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<PublicCertificate> ListPublicCertificatesNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListPublicCertificatesNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get public certificates for an app or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get public certificates for an app or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<PublicCertificate>> ListPublicCertificatesNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListPublicCertificatesNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get list of siteextensions for a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get list of siteextensions for a web site, or a deployment
            /// slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<SiteExtensionInfo> ListSiteExtensionsNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListSiteExtensionsNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get list of siteextensions for a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get list of siteextensions for a web site, or a deployment
            /// slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<SiteExtensionInfo>> ListSiteExtensionsNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListSiteExtensionsNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets an app's deployment slots.
            /// </summary>
            /// <remarks>
            /// Description for Gets an app's deployment slots.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<Site> ListSlotsNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListSlotsNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets an app's deployment slots.
            /// </summary>
            /// <remarks>
            /// Description for Gets an app's deployment slots.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<Site>> ListSlotsNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListSlotsNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets existing backups of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets existing backups of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<BackupItem> ListBackupsSlotNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListBackupsSlotNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets existing backups of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets existing backups of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<BackupItem>> ListBackupsSlotNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListBackupsSlotNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Returns whether Scm basic auth is allowed and whether Ftp is allowed for a
            /// given site.
            /// </summary>
            /// <remarks>
            /// Description for Returns whether Scm basic auth is allowed and whether Ftp
            /// is allowed for a given site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<CsmPublishingCredentialsPoliciesEntity> ListBasicPublishingCredentialsPoliciesSlotNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListBasicPublishingCredentialsPoliciesSlotNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Returns whether Scm basic auth is allowed and whether Ftp is allowed for a
            /// given site.
            /// </summary>
            /// <remarks>
            /// Description for Returns whether Scm basic auth is allowed and whether Ftp
            /// is allowed for a given site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<CsmPublishingCredentialsPoliciesEntity>> ListBasicPublishingCredentialsPoliciesSlotNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListBasicPublishingCredentialsPoliciesSlotNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// List the configurations of an app
            /// </summary>
            /// <remarks>
            /// Description for List the configurations of an app
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<SiteConfigResource> ListConfigurationsSlotNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListConfigurationsSlotNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List the configurations of an app
            /// </summary>
            /// <remarks>
            /// Description for List the configurations of an app
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<SiteConfigResource>> ListConfigurationsSlotNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListConfigurationsSlotNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the config reference app settings and status of an app
            /// </summary>
            /// <remarks>
            /// Description for Gets the config reference app settings and status of an app
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<ApiKVReference> GetAppSettingsKeyVaultReferencesSlotNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.GetAppSettingsKeyVaultReferencesSlotNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the config reference app settings and status of an app
            /// </summary>
            /// <remarks>
            /// Description for Gets the config reference app settings and status of an app
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ApiKVReference>> GetAppSettingsKeyVaultReferencesSlotNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetAppSettingsKeyVaultReferencesSlotNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the config reference app settings and status of an app
            /// </summary>
            /// <remarks>
            /// Description for Gets the config reference app settings and status of an app
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<ApiKVReference> GetSiteConnectionStringKeyVaultReferencesSlotNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.GetSiteConnectionStringKeyVaultReferencesSlotNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the config reference app settings and status of an app
            /// </summary>
            /// <remarks>
            /// Description for Gets the config reference app settings and status of an app
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ApiKVReference>> GetSiteConnectionStringKeyVaultReferencesSlotNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetSiteConnectionStringKeyVaultReferencesSlotNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets a list of web app configuration snapshots identifiers. Each element of
            /// the list contains a timestamp and the ID of the snapshot.
            /// </summary>
            /// <remarks>
            /// Description for Gets a list of web app configuration snapshots identifiers.
            /// Each element of the list contains a timestamp and the ID of the snapshot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<SiteConfigurationSnapshotInfo> ListConfigurationSnapshotInfoSlotNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListConfigurationSnapshotInfoSlotNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets a list of web app configuration snapshots identifiers. Each element of
            /// the list contains a timestamp and the ID of the snapshot.
            /// </summary>
            /// <remarks>
            /// Description for Gets a list of web app configuration snapshots identifiers.
            /// Each element of the list contains a timestamp and the ID of the snapshot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<SiteConfigurationSnapshotInfo>> ListConfigurationSnapshotInfoSlotNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListConfigurationSnapshotInfoSlotNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// List continuous web jobs for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List continuous web jobs for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<ContinuousWebJob> ListContinuousWebJobsSlotNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListContinuousWebJobsSlotNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List continuous web jobs for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List continuous web jobs for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ContinuousWebJob>> ListContinuousWebJobsSlotNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListContinuousWebJobsSlotNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// List deployments for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List deployments for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<Deployment> ListDeploymentsSlotNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListDeploymentsSlotNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List deployments for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List deployments for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<Deployment>> ListDeploymentsSlotNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListDeploymentsSlotNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Lists ownership identifiers for domain associated with web app.
            /// </summary>
            /// <remarks>
            /// Description for Lists ownership identifiers for domain associated with web
            /// app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<Identifier> ListDomainOwnershipIdentifiersSlotNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListDomainOwnershipIdentifiersSlotNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Lists ownership identifiers for domain associated with web app.
            /// </summary>
            /// <remarks>
            /// Description for Lists ownership identifiers for domain associated with web
            /// app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<Identifier>> ListDomainOwnershipIdentifiersSlotNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListDomainOwnershipIdentifiersSlotNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// List the functions for a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List the functions for a web site, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<FunctionEnvelope> ListInstanceFunctionsSlotNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListInstanceFunctionsSlotNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List the functions for a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List the functions for a web site, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<FunctionEnvelope>> ListInstanceFunctionsSlotNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListInstanceFunctionsSlotNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get hostname bindings for an app or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get hostname bindings for an app or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<HostNameBinding> ListHostNameBindingsSlotNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListHostNameBindingsSlotNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get hostname bindings for an app or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get hostname bindings for an app or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<HostNameBinding>> ListHostNameBindingsSlotNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListHostNameBindingsSlotNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets all scale-out instances of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets all scale-out instances of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<WebSiteInstanceStatus> ListInstanceIdentifiersSlotNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListInstanceIdentifiersSlotNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets all scale-out instances of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets all scale-out instances of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<WebSiteInstanceStatus>> ListInstanceIdentifiersSlotNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListInstanceIdentifiersSlotNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get list of processes for a web site, or a deployment slot, or for a
            /// specific scaled-out instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for Get list of processes for a web site, or a deployment slot,
            /// or for a specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<ProcessInfo> ListInstanceProcessesSlotNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListInstanceProcessesSlotNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get list of processes for a web site, or a deployment slot, or for a
            /// specific scaled-out instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for Get list of processes for a web site, or a deployment slot,
            /// or for a specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ProcessInfo>> ListInstanceProcessesSlotNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListInstanceProcessesSlotNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// List module information for a process by its ID for a specific scaled-out
            /// instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for List module information for a process by its ID for a
            /// specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<ProcessModuleInfo> ListInstanceProcessModulesSlotNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListInstanceProcessModulesSlotNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List module information for a process by its ID for a specific scaled-out
            /// instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for List module information for a process by its ID for a
            /// specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ProcessModuleInfo>> ListInstanceProcessModulesSlotNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListInstanceProcessModulesSlotNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// List the threads in a process by its ID for a specific scaled-out instance
            /// in a web site.
            /// </summary>
            /// <remarks>
            /// Description for List the threads in a process by its ID for a specific
            /// scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<ProcessThreadInfo> ListInstanceProcessThreadsSlotNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListInstanceProcessThreadsSlotNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List the threads in a process by its ID for a specific scaled-out instance
            /// in a web site.
            /// </summary>
            /// <remarks>
            /// Description for List the threads in a process by its ID for a specific
            /// scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ProcessThreadInfo>> ListInstanceProcessThreadsSlotNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListInstanceProcessThreadsSlotNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets existing backups of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets existing backups of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<BackupItem> ListSiteBackupsSlotNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListSiteBackupsSlotNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets existing backups of an app.
            /// </summary>
            /// <remarks>
            /// Description for Gets existing backups of an app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<BackupItem>> ListSiteBackupsSlotNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListSiteBackupsSlotNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets perfmon counters for web app.
            /// </summary>
            /// <remarks>
            /// Description for Gets perfmon counters for web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<PerfMonResponse> ListPerfMonCountersSlotNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListPerfMonCountersSlotNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets perfmon counters for web app.
            /// </summary>
            /// <remarks>
            /// Description for Gets perfmon counters for web app.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<PerfMonResponse>> ListPerfMonCountersSlotNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListPerfMonCountersSlotNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the list of private endpoint connections associated with a site
            /// </summary>
            /// <remarks>
            /// Description for Gets the list of private endpoint connections associated
            /// with a site
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<RemotePrivateEndpointConnectionARMResource> GetPrivateEndpointConnectionListSlotNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.GetPrivateEndpointConnectionListSlotNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the list of private endpoint connections associated with a site
            /// </summary>
            /// <remarks>
            /// Description for Gets the list of private endpoint connections associated
            /// with a site
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<RemotePrivateEndpointConnectionARMResource>> GetPrivateEndpointConnectionListSlotNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.GetPrivateEndpointConnectionListSlotNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get list of processes for a web site, or a deployment slot, or for a
            /// specific scaled-out instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for Get list of processes for a web site, or a deployment slot,
            /// or for a specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<ProcessInfo> ListProcessesSlotNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListProcessesSlotNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get list of processes for a web site, or a deployment slot, or for a
            /// specific scaled-out instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for Get list of processes for a web site, or a deployment slot,
            /// or for a specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ProcessInfo>> ListProcessesSlotNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListProcessesSlotNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// List module information for a process by its ID for a specific scaled-out
            /// instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for List module information for a process by its ID for a
            /// specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<ProcessModuleInfo> ListProcessModulesSlotNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListProcessModulesSlotNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List module information for a process by its ID for a specific scaled-out
            /// instance in a web site.
            /// </summary>
            /// <remarks>
            /// Description for List module information for a process by its ID for a
            /// specific scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ProcessModuleInfo>> ListProcessModulesSlotNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListProcessModulesSlotNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// List the threads in a process by its ID for a specific scaled-out instance
            /// in a web site.
            /// </summary>
            /// <remarks>
            /// Description for List the threads in a process by its ID for a specific
            /// scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<ProcessThreadInfo> ListProcessThreadsSlotNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListProcessThreadsSlotNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List the threads in a process by its ID for a specific scaled-out instance
            /// in a web site.
            /// </summary>
            /// <remarks>
            /// Description for List the threads in a process by its ID for a specific
            /// scaled-out instance in a web site.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<ProcessThreadInfo>> ListProcessThreadsSlotNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListProcessThreadsSlotNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get public certificates for an app or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get public certificates for an app or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<PublicCertificate> ListPublicCertificatesSlotNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListPublicCertificatesSlotNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get public certificates for an app or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get public certificates for an app or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<PublicCertificate>> ListPublicCertificatesSlotNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListPublicCertificatesSlotNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get list of siteextensions for a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get list of siteextensions for a web site, or a deployment
            /// slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<SiteExtensionInfo> ListSiteExtensionsSlotNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListSiteExtensionsSlotNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get list of siteextensions for a web site, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for Get list of siteextensions for a web site, or a deployment
            /// slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<SiteExtensionInfo>> ListSiteExtensionsSlotNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListSiteExtensionsSlotNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get the difference in configuration settings between two web app slots.
            /// </summary>
            /// <remarks>
            /// Description for Get the difference in configuration settings between two
            /// web app slots.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<SlotDifference> ListSlotDifferencesSlotNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListSlotDifferencesSlotNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get the difference in configuration settings between two web app slots.
            /// </summary>
            /// <remarks>
            /// Description for Get the difference in configuration settings between two
            /// web app slots.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<SlotDifference>> ListSlotDifferencesSlotNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListSlotDifferencesSlotNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Returns all Snapshots to the user.
            /// </summary>
            /// <remarks>
            /// Description for Returns all Snapshots to the user.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<Snapshot> ListSnapshotsSlotNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListSnapshotsSlotNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Returns all Snapshots to the user.
            /// </summary>
            /// <remarks>
            /// Description for Returns all Snapshots to the user.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<Snapshot>> ListSnapshotsSlotNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListSnapshotsSlotNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Returns all Snapshots to the user from DRSecondary endpoint.
            /// </summary>
            /// <remarks>
            /// Description for Returns all Snapshots to the user from DRSecondary
            /// endpoint.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<Snapshot> ListSnapshotsFromDRSecondarySlotNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListSnapshotsFromDRSecondarySlotNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Returns all Snapshots to the user from DRSecondary endpoint.
            /// </summary>
            /// <remarks>
            /// Description for Returns all Snapshots to the user from DRSecondary
            /// endpoint.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<Snapshot>> ListSnapshotsFromDRSecondarySlotNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListSnapshotsFromDRSecondarySlotNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// List triggered web jobs for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List triggered web jobs for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<TriggeredWebJob> ListTriggeredWebJobsSlotNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListTriggeredWebJobsSlotNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List triggered web jobs for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List triggered web jobs for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<TriggeredWebJob>> ListTriggeredWebJobsSlotNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListTriggeredWebJobsSlotNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// List a triggered web job's history for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List a triggered web job's history for an app, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<TriggeredJobHistory> ListTriggeredWebJobHistorySlotNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListTriggeredWebJobHistorySlotNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List a triggered web job's history for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List a triggered web job's history for an app, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<TriggeredJobHistory>> ListTriggeredWebJobHistorySlotNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListTriggeredWebJobHistorySlotNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the quota usage information of an app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets the quota usage information of an app (or deployment
            /// slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<CsmUsageQuota> ListUsagesSlotNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListUsagesSlotNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the quota usage information of an app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets the quota usage information of an app (or deployment
            /// slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<CsmUsageQuota>> ListUsagesSlotNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListUsagesSlotNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// List webjobs for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List webjobs for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<WebJob> ListWebJobsSlotNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListWebJobsSlotNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List webjobs for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List webjobs for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<WebJob>> ListWebJobsSlotNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListWebJobsSlotNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Get the difference in configuration settings between two web app slots.
            /// </summary>
            /// <remarks>
            /// Description for Get the difference in configuration settings between two
            /// web app slots.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<SlotDifference> ListSlotDifferencesFromProductionNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListSlotDifferencesFromProductionNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Get the difference in configuration settings between two web app slots.
            /// </summary>
            /// <remarks>
            /// Description for Get the difference in configuration settings between two
            /// web app slots.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<SlotDifference>> ListSlotDifferencesFromProductionNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListSlotDifferencesFromProductionNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Returns all Snapshots to the user.
            /// </summary>
            /// <remarks>
            /// Description for Returns all Snapshots to the user.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<Snapshot> ListSnapshotsNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListSnapshotsNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Returns all Snapshots to the user.
            /// </summary>
            /// <remarks>
            /// Description for Returns all Snapshots to the user.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<Snapshot>> ListSnapshotsNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListSnapshotsNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Returns all Snapshots to the user from DRSecondary endpoint.
            /// </summary>
            /// <remarks>
            /// Description for Returns all Snapshots to the user from DRSecondary
            /// endpoint.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<Snapshot> ListSnapshotsFromDRSecondaryNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListSnapshotsFromDRSecondaryNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Returns all Snapshots to the user from DRSecondary endpoint.
            /// </summary>
            /// <remarks>
            /// Description for Returns all Snapshots to the user from DRSecondary
            /// endpoint.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<Snapshot>> ListSnapshotsFromDRSecondaryNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListSnapshotsFromDRSecondaryNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// List triggered web jobs for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List triggered web jobs for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<TriggeredWebJob> ListTriggeredWebJobsNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListTriggeredWebJobsNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List triggered web jobs for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List triggered web jobs for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<TriggeredWebJob>> ListTriggeredWebJobsNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListTriggeredWebJobsNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// List a triggered web job's history for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List a triggered web job's history for an app, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<TriggeredJobHistory> ListTriggeredWebJobHistoryNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListTriggeredWebJobHistoryNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List a triggered web job's history for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List a triggered web job's history for an app, or a
            /// deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<TriggeredJobHistory>> ListTriggeredWebJobHistoryNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListTriggeredWebJobHistoryNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// Gets the quota usage information of an app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets the quota usage information of an app (or deployment
            /// slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<CsmUsageQuota> ListUsagesNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListUsagesNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// Gets the quota usage information of an app (or deployment slot, if
            /// specified).
            /// </summary>
            /// <remarks>
            /// Description for Gets the quota usage information of an app (or deployment
            /// slot, if specified).
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<CsmUsageQuota>> ListUsagesNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListUsagesNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
            /// <summary>
            /// List webjobs for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List webjobs for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            public static IPage<WebJob> ListWebJobsNext(this IWebAppsOperations operations, string nextPageLink)
            {
                return operations.ListWebJobsNextAsync(nextPageLink).GetAwaiter().GetResult();
            }
 
            /// <summary>
            /// List webjobs for an app, or a deployment slot.
            /// </summary>
            /// <remarks>
            /// Description for List webjobs for an app, or a deployment slot.
            /// </remarks>
            /// <param name='operations'>
            /// The operations group for this extension method.
            /// </param>
            /// <param name='nextPageLink'>
            /// The NextLink from the previous successful call to List operation.
            /// </param>
            /// <param name='cancellationToken'>
            /// The cancellation token.
            /// </param>
            public static async Task<IPage<WebJob>> ListWebJobsNextAsync(this IWebAppsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.ListWebJobsNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
 
    }
}